我在xml文件中获取此日期时间格式:
2012-06-14T11:15:41.587-07:00
2012-06-14T10:49:32.397-07:00
2012-06-11T11:10:49.2-07:00
我相信我理解其中一些,如果我错了,请纠正我:
2012-06-14 =日期
T =时间标识符
10:49:32.397 =小时秒毫秒
-07:00 =我不知道
我需要将其转换为我可以为我的数据网格视图排序的东西。
当我尝试这样的事情时:
Console.WriteLine(String.Format("{0:d/M/yyyy HH:mm:ss}", "2012-06-14T10:49:32.397-07:00"))
我将原始字符串取回而没有转换。
有人有任何建议吗?
答案 0 :(得分:4)
-07:00 =我不知道
-7是时区偏移量。这意味着DateTime比UTC晚7个小时,这表示美国山区时间。
您想使用DateTime.Parse
来获取DateTime
个对象。
Dim val As String = "2012-06-11T11:10:49.2-07:00"
Dim parsedDateTime As DateTime = DateTime.Parse(val)
'Do whatever with parsedDateTime here
答案 1 :(得分:0)
看一下这篇文章:
http://msdn.microsoft.com/en-us/library/1k1skd40.aspx
它应该让您更好地掌握如何使用DateTime对象。您拥有的时间是ISO 8601格式。
答案 2 :(得分:0)
-07:00
是与UTC的偏移量。您可以通过DateTimeOffset.ParseExact解析它,其中包括偏移的说明符(“zzz”格式说明符)。
在你的情况下,我相信这将是:
Dim xmlValue = "2012-06-14T11:15:41.587-07:00"
Dim value as DateTimeOffset = DateTimeOffset.ParseExact(xmlValue, "yyyy-MM-dd\Thh:mm:ss.fffzzz", CultureInfo.InvariantCulture)