我有一个JavaScript Date
对象。我将此提交给Web服务。 Web服务期望格式如下:2014-01-01T00:00:00Z
。不幸的是,我甚至不知道这种格式是什么。它看起来像[Year]-[Month]-[Day]-T[Hours]:[Minutes]:[Seconds]Z
。
我怀疑Z
意味着什么。但是,我不知道是什么。这是标准的Date
格式吗?如果是这样,有没有办法可以轻松地将我的Date
对象转换为这种格式?或者,我是否需要手动构建它?
谢谢!
答案 0 :(得分:1)
我甚至不知道这种格式是什么。
它是ISO-8601定义的表单之一。
在任何现代浏览器上,您都可以使用toISOString
方法获取该表单,除非它包含毫秒,您的示例并不是这样。您发送给的终端可能不在乎;如果是这样,一个简单的replace
可以摆脱它们:
var str = dt.toISOString().replace(/\.\d{3}/, '');
如果您需要支持IE8,则需要填充。
另一种选择是使用类似MomentJS的内容,它提供各种格式选项。
toISOString
和replace
的示例:
var dt = new Date();
var str = dt.toISOString().replace(/\.\d{3}/, '');
snippet.log(str);

<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;