2

我在 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"))

我在没有转换的情况下恢复了原始字符串。

有人有什么建议吗?

4

3 回答 3

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
于 2012-06-18T16:26:37.337 回答
0

是与 UTC的-07:00偏移量。您可以通过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)
于 2012-06-18T16:28:35.913 回答
0

看看这篇文章:

http://msdn.microsoft.com/en-us/library/1k1skd40.aspx

它应该让您更好地掌握如何使用 DateTime 对象。您拥有的时间是ISO 8601格式。

于 2012-06-18T16:28:08.707 回答