我有一个日期,例如
let date = new Date('2019-05-15T13:06:41Z')
我希望获得完全相同的格式,但在提供的语言环境中。这是在服务器上,所以我也传递了一个语言环境(我确实可以访问)
假设服务器位于美国,但我有一个 en-GB 语言环境。我想以完全相同的格式获取日期和时间,例如 yyyy-mm-ddThh:mm:ss 但在我传入的任何语言环境中。
所以在上面的例子中它应该返回(占 BST)
2019-05-15T14:06:41
我知道在客户端我可以做:
let date = new Date('2019-05-15T13:06:41Z')
let formatted_date = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + "T" + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds()
但正如我在服务器上所说的那样,这将不起作用,因为它基于服务器时间而不是我需要的语言环境。
很高兴使用 momentjs 或类似的东西,如果这很容易实现的话
最佳答案
这听起来像是 moment-timezone 的工作
注意:语言环境不会也不能 1:1 映射到时区。
let date = new Date('2019-05-15T13:06:41Z');
moment(date).tz('Asia/Tokyo').toISOString(true); // 2019-05-15T22:06:41.000+09:00
moment(date).tz('Asia/Kolkata').toISOString(true); // 2019-05-15T18:36:41.000+05:30
moment(date).tz('America/New_York').toISOString(true); // 2019-05-15T09:06:41.000-04:00"
关于javascript - 在服务器端Javascript中以与UTC日期相同的显示格式获取语言环境日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56150656/