将字符串中的格式化日期转换为日期时间c#

时间:2015-07-22 06:44:51

标签: c# string datetime type-conversion

我的日期是字符串格式,如下所示

Tue Jun 30 2015 00:00:00 GMT+0530 (India Standard Time)

我想将其转换为c#中的DateTime

我使用javascript从telerik datepicker获取此日期。

1 个答案:

答案 0 :(得分:0)

由于您的字符串有UTC offset,我会将其解析为DateTimeOffset。如果不使用文字字符串分隔符,则无法解析GMT(India Standard Time)部分。请注意,DateTimeDateTimeOffset都不是时区意识DateTimeOffset至少要好一点,因为它知道UTC瞬间和偏移量。

var s = "Tue Jun 30 2015 00:00:00 GMT+0530 (India Standard Time)";
DateTimeOffset dto;
if (DateTimeOffset.TryParseExact(s, "ddd MMM dd yyyy HH:mm:ss 'GMT'K '(India Standard Time)'", 
                                 CultureInfo.InvariantCulture, 
                                 DateTimeStyles.None, out dto))

{
     Console.WriteLine(dto);
}

现在您的DateTimeOffset{30.06.2015 00:00:00 +05:30}

作为替代方案(也是更好的选择),NodatimeZonedDateTime structure,这是;

  

特定时区内的LocalDateTime 且具有特定的偏移量   区分其他不明确的时刻。