javascript - 将 JavaScript 日期对象格式化为特定格式

标签 javascript date

我有一个 JavaScript Date 对象。我正在将其提交给网络服务。 Web 服务期望的格式如下:2014-01-01T00:00:00Z。不幸的是,我什至不知道这种格式叫什么。它看起来像 [Year]-[Month]-[Day]-T[Hours]:[Minutes]:[Seconds]Z

我怀疑Z有什么意义。然而,我不知道是什么。这是标准的Date 格式吗?如果是这样,有没有办法可以轻松地将我的 Date 对象转换为这种格式?或者,我需要手动构建它吗?

谢谢!

最佳答案

I do not even know what that format is called.

它是 ISO-8601 定义的形式之一.

在任何现代浏览器上,您都可以使用 toISOString 方法获取该表单,但它将包含毫秒,而您的示例则不包含毫秒。您发送到的端点可能不关心;如果确实如此,简单的replace就可以消除它们:

var str = dt.toISOString().replace(/\.\d{3}/, '');

如果您需要支持 IE8,则需要一个 polyfill。

另一种选择是使用类似 MomentJS 的内容。 ,它提供了各种格式选项。

toISOStringreplace 示例:

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>

关于javascript - 将 JavaScript 日期对象格式化为特定格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28113161/

相关文章:

javascript - 通过外部触发将数据推送到web socket

javascript - 如何在 Visual Studio 2013 中关闭脚本调试器

javascript - 为什么 Date.parse 给出不正确的结果?

php - foreach 循环中 if 语句后值不改变

validation - 检查 MATLAB 中的日期一致性

javascript - 使用 VB 在 ASP.NET 中打开一个新窗口

javascript - 我可以使用 JavaScript、Flash 或 Silverlight 通过 HTTP 接收流吗?

javascript - 浏览器可以直接与同一网络上的另一个浏览器通信吗?

java - 通过 SimpleDateFormat 将 UTC 字符串解析为日期时出现无法解析的日期错误

python - 在python中获取最后一个星期日和星期六的日期