Javascript 方法 Date() 在我的系统上返回错误的日期(2 月 9 日而不是 9 月 2 日),

标签 javascript date

我有一个 JavaScript 方法,可以获取当前日期并返回其通用时间。下面是代码:

 function calUTCTime(offset) {

        var currentDate = new Date();    

        var utc = currentDate.getTime() - (currentDate.getTimezoneOffset() * 60000);

        var result = new Date(utc + (3600000 * offset));

        return result .toLocaleString();
    }

上面的代码返回错误的日期,它用月份替换日期,我的系统中的日期格式是dd-MM-yyyy,操作系统是Windows 8。我在其他系统上尝试过,日期是正确,但在我的系统上是错误的。请分享建议。

最佳答案

这正是我对 .toLocaleString() 的期望。浏览器从操作系统确定您的语言(或“区域设置”),并使用它来选择如何输出字符串。如果您想要通用的人类可读日期格式,请尝试使用简单的 .toString()

如果您想完全控制日期的格式,请尝试像 moment.js 这样的库。例如,上面的代码可以压缩为:

return moment().utc().format("YYYY-MM-DD"); // "2014-09-02"

还有另一篇文章总结了两种方法之间的差异:JavaScript: Difference between toString() and toLocaleString() methods of Date

关于Javascript 方法 Date() 在我的系统上返回错误的日期(2 月 9 日而不是 9 月 2 日),,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25622512/

相关文章:

javascript - 尝试使用 Ember 获取 json 数据

javascript - 为什么需要复制数组才能对其使用方法?

android - 乔达和安卓 : How to format a date for display in the user's locale?

java - Android 将 UTC 日期转换为本地时区

date - 如何在 Swift 中解析/创建格式为小数秒 UTC 时区(ISO 8601、RFC 3339)的日期时间戳?

mysql - 相同用户和相同状态的连续实例 - MYSQL

javascript - 正则表达式根据多个单词的存在来选择句子

javascript - 如何以 blob 数组的形式接收连续的视频 block 并在 Websocket 中动态设置为视频标签

javascript - 如何在 p5.js 中使用箭头键移动 Matter.js 主体?

java - 解析前检查日期格式