我的日期是字符串格式,如下所示
Tue Jun 30 2015 00:00:00 GMT+0530 (India Standard Time)
我想将其转换为c#中的DateTime
。
我使用javascript从telerik datepicker获取此日期。
答案 0 :(得分:0)
由于您的字符串有UTC offset,我会将其解析为DateTimeOffset
。如果不使用文字字符串分隔符,则无法解析GMT
和(India Standard Time)
部分。请注意,DateTime
和DateTimeOffset
都不是时区意识。 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}
作为替代方案(也是更好的选择),Nodatime有ZonedDateTime
structure,这是;
特定时区内的
LocalDateTime
且具有特定的偏移量 区分其他不明确的时刻。