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



我有如下字符串格式的日期

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

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

我正在使用javascript从teleerik datepicker获取此日期。

由于您的字符串具有UTC偏移量,因此我会将其解析为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}

作为一种替代(也是更好的选择),nodeatime具有ZonedDateTime结构,它是;

一个LocalDateTime 在一个特定的时区和一个特定的偏移量用来区分不明确的瞬间。

相关内容

  • 没有找到相关文章

最新更新