Convert Date time to specific format in C#

前端 未结 5 1926
野的像风
野的像风 2020-12-30 16:54

I want to convert date time to specify format that is

Wed Aug 01 2012 14:37:50 GMT+0530 (India Standard Time)

Actually i want to display th

相关标签:
5条回答
  • 2020-12-30 17:25

    try this to convert datetime to indian date format in c#

    IFormatProvider culture = new System.Globalization.CultureInfo("hi-IN", true);
            DateTime dt2 = DateTime.Parse(txtStatus.Text, culture, System.Globalization.DateTimeStyles.AssumeLocal);
    
    0 讨论(0)
  • 2020-12-30 17:26

    If you do not want to hardcode the GMT offset and cannot rely on the local time being India Standard Time you can pull this information from the TimeZoneInfo:

    // get UTC from local time
    var today = DateTime.Now.ToUniversalTime();
    // get IST from UTC
    var ist = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(today, "UTC", "India Standard Time");
    // find the IST TimeZone
    var tzi = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
    // get the UTC offset TimeSpan
    var offset = tzi.GetUtcOffset(today);
    // determine the TimeSpan sign
    var sign = offset.Ticks < 0 ? "-" : "+";
    // use a custom format string
    var formatted = string.Format(CultureInfo.InvariantCulture, "{0:ffffd MMM HH:mm:ss} GMT{1}{2:hhmm}", today, sign, offset);
    
    0 讨论(0)
  • 2020-12-30 17:28

    You can use String.Format() and specify your own custom format - ffffd mmm dd yyyy. Try it yourself to explore more.

    0 讨论(0)
  • 2020-12-30 17:32

    You can use date.ToString("format") to do that. Microsoft offer a full reference on how to format your dates the way you want.

    Edit:

    Perhaps there isn't a format ready that exactly matches your format, but you can combine your own based on the format specifiers provided in the above reference.

    // This will output something like Wed Aug 01 2012
    date.ToString("ffffd MMM dd yyyy");
    

    I believe you can follow the same pattern to complete the rest on your own.

    0 讨论(0)
  • 2020-12-30 17:46

    There's no reason with the information already provided that you can't work this out for yourself, but to get a string reading:

    "Wed Aug 01 2012 14:37:50 GMT+0530 (India Standard Time)"
    

    Then what you want is to get the date and time in the correct form (the "Wed Aug 01 2012 14:37:50" bit) with "GMT+0530 (India Standard Time)" added on the end. Assuming that that bit is always the same of course.

    So the code you'd need is:

    string string_name = (date.ToString("ffffd MMM dd yyyy HH:mm:ss") + "GMT+0530 \(India Standard Time\)");
    //string_name will be in the form "Wed Aug 01 2012 14:37:50 GMT+0530 (India Standard Time)"
    

    But, as I said, that's something you should be able to work out yourself using the references provided.

    0 讨论(0)
提交回复
热议问题