我有一个DateTime
变量,其中包含以下值:5/11/2014 7:56:26 am
我目前正在使用以下代码将其格式化为字符串:uDate.ToString("s")
。使用此代码,我得到以下值:2014-11-05T07:56:26
我需要这个更准确。我想要获得的确切值在以下准确度范围内:2014-11-05T07:56:26.4
我已通过以下链接进行了一些研究:http://www.w3.org/TR/NOTE-datetime
以下是我发现的内容:
此配置文件未指定可用于表示的位数 一秒的小数部分。采用允许的标准 小数秒必须指定最小位数 (大于或等于1的数字)和最大数量 数字(最大值可以表示为"无限制")。
我想要获得的值是在{8}中在{+ 1}}变量中使用的值,用于在Web服务请求中显示Azure
变量。
如何格式化我自己的DateTime
字符串,使其格式与DateTime
上使用的格式相同?是否有Azure
使用的特定格式?
基本上,如何将Azure
字符串格式化为比代码更准确:DateTime
提前致谢。
答案 0 :(得分:2)
"s"
standard format specifier使用CurrentCulture
的{{3}},但它不包含毫秒部分。
无论您使用何种文化格式,此格式说明符始终相同,且格式为"yyyy'-'MM'-'dd'T'HH':'mm':'ss"
。
您可以使用SortableDateTimePattern
property之类的;
uDate.ToString("yyyy-MM-dd'T'HH:mm:ss.f");
答案 1 :(得分:2)
我相信最多"完成"信息将是使用" O"值,包括分数和TimeZone(如果可用)。
var myDate = DateTime.Now.ToString("o");
另见this文章。微软声称"符合ISO 8601"并且每个.Net平台(也称为Azure)都能够将此字符串作为DateTime读取,并且还可以正确设置' DateTimeKind'可用时。