将dateTime转换为ISO格式yyyy-mm-dd hh:mm:ss in C#
在.NET / C#中有一个标准的方法来将date时间对象转换为ISO 8601格式yyyy-mm-dd hh:mm:ss?
或者我需要做一些string操作来获取datestring?
可读的8601格式没有标准格式。 您可以使用自定义格式:
theDate.ToString("yyyy-MM-dd HH':'mm':'ss")
(标准格式“s”会给你一个date和时间之间的“T”,而不是一个空格。)
要使用严格的ISO8601
,可以使用s
(可sorting )格式string:
myDate.ToString("s"); // example 2009-06-15T13:45:30
这是这个自定义格式string的一个缩写:
myDate.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss");
当然,您可以构build自己的自定义格式string。
更多信息:
- 标准date和时间格式string
- 自定义date和时间格式string
添加一些让我困惑的信息; 我一直认为可以像这样取得相同的结果;
theDate.ToString("yyyy-MM-dd HH:mm:ss")
但是,如果您的当前文化不使用冒号(:)作为小时分隔符,而是使用全站(。),则可以按如下方式返回:
2009-06-15 13.45.30
只是想补充说明为什么答案需要保持原样;
theDate.ToString("yyyy-MM-dd HH':'mm':'ss")
🙂
date.ToString("o") // The Round-trip ("O", "o") Format Specifier date.ToString("s") // The Sortable ("s") Format Specifier, conforming to ISO86801
MSDN标准date和时间格式string
对于那些使用这种格式的人来说,所有的时间都和我一样,我做了一个扩展的方法。 我只是想分享一下,因为我认为这对你有用。
/// <summary> /// Convert a date to a human readable ISO datetime format. ie. 2012-12-12 23:01:12 /// this method must be put in a static class. This will appear as an available function /// on every datetime objects if your static class namespace is declared. /// </summary> public static string ToIsoReadable(this DateTime dateTime) { return dateTime.ToString("yyyy-MM-dd HH':'mm':'ss"); }
DateTime :: ToString()方法有一个string格式化程序,可用于以任何所需的格式输出date时间。 有关更多信息,请参见DateTime.ToString方法(string) 。