javascript - 如何根据用户语言格式化日期并显示月份和日期

标签 javascript jquery momentjs

我正在尝试根据用户浏览器语言偏好在 javascript 中显示日期和时间。我正在接收 UTC 格式的日期,通过使用 toLocaleString() 我可以将其转换为浏览器时区。但我还需要将日期名称和月份名称转换为浏览器语言。

例如

2009 年 6 月 15 日下午 1:45:30 -> 2009 年 6 月 15 日星期一晚上 8:45:30(英文) 6/15/2009 1:45:30 PM -> den 15 juni 2009 20:45:30 (sv-SE) 6/15/2009 1:45:30 PM -> Δευτέρα, 15 Ιουνίου 2009 8:45:30 μμ (el-GR)

最佳答案

使用 toLocaleString你可以这样做:

var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

// request a weekday along with a long date
var options = {weekday: "long", year: "numeric", month: "long", day: "numeric"};
alert(date.toLocaleString("de-DE", options));
// → "Donnerstag, 20. Dezember 2012"

// an application may want to use UTC and make that visible
options.timeZone = "UTC";
options.timeZoneName = "short";
alert(date.toLocaleString("en-US", options));
// → "Thursday, December 20, 2012, GMT"

关于javascript - 如何根据用户语言格式化日期并显示月份和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16541409/

相关文章:

javascript - 数组链接,按原语类型过滤数组并返回最短长度元素

jquery - 如何在 Ajax 调用之外使用来自 ajax 成功函数的响应数据

javascript - 试图传递一个选择器,但在第二次传递时传递了对象

javascript - 将输入的日期转换为 Date 对象

javascript - moment 获取本地化的时间段 AM//PM

javascript - 使用 Yeoman 生成器复制文件不起作用

javascript - 如何从数组值中删除逗号?

javascript - 当数据不遵循单一格式时如何编写正则表达式?

javascript - 使用 jQuery 的导航菜单(来自 jQuery Cookbook)

node.js - 使用 Moment 查看 24 小时后的时差