日期(根据地区分配)
Dates (Assigning them depending on region)
var d = new Date();
"**Zone** - `" +
d.toTimeString().replace(/\d+:\d+:\d+\s+/, '').replace(/[G][M][T].\d+/, '') +
"` **Time** - " +
"`" + d.toLocaleTimeString() +
"` **Date** - " + "`" +
d.toLocaleDateString() + "`"
这是我的字符串,告诉我地区、时间和日期。我在不和谐的机器人上使用它,并试图根据用户所在的地区使它们有所不同。我不确定如何完成此操作,但对于视觉示例...
上面的代码returns我-
Zone - (AUS Eastern Standard Time) Time - 16:49:28 Date - 2018-5-18
我对此很满意,但是,为了测试我有一个外国朋友跳上去,当我试图让结果成为他们所在的地区时,它发送了同样的东西所以...
Zone - (AMERICA Western Standard Time) Time - 02:29:09 Date - 2018-5-18
有人有什么想法吗?
编辑: 在我的一个新项目中,我发现 Intl.DateTimeFormat()
的用户本质上是 returns 一个数组。此函数有一个称为 .resolvedOptions()
的实例方法,返回一个包含许多值的对象。我只是继续添加 .timezone
,它返回类似于 "Australia/Queensland" 的内容。
var region = Intl.DateTimeFormat().resolvedOptions().timeZone;
I am assuming this code is run in a browser, and not in a server.
您不能依赖 d.toTimeString()
并删除时区部分来查找时区,toTimeString
可以 return 不同浏览器上的不同格式。规范已将格式留给浏览器供应商。
您可以获得 timezoneOffset
并将其映射到时区名称,但是等等,有一个问题。这可能与地区的夏令时设置冲突。因此,您将需要一组全球夏令时的历史数据。
如果您真的想这样做,请使用 moment with timezones,它可以为您进行查找,他们已经为您创建了所有映射,包括 DST。
var d = new Date();
"**Zone** - `" +
d.toTimeString().replace(/\d+:\d+:\d+\s+/, '').replace(/[G][M][T].\d+/, '') +
"` **Time** - " +
"`" + d.toLocaleTimeString() +
"` **Date** - " + "`" +
d.toLocaleDateString() + "`"
这是我的字符串,告诉我地区、时间和日期。我在不和谐的机器人上使用它,并试图根据用户所在的地区使它们有所不同。我不确定如何完成此操作,但对于视觉示例...
上面的代码returns我-
Zone - (AUS Eastern Standard Time) Time - 16:49:28 Date - 2018-5-18
我对此很满意,但是,为了测试我有一个外国朋友跳上去,当我试图让结果成为他们所在的地区时,它发送了同样的东西所以...
Zone - (AMERICA Western Standard Time) Time - 02:29:09 Date - 2018-5-18
有人有什么想法吗?
编辑: 在我的一个新项目中,我发现 Intl.DateTimeFormat()
的用户本质上是 returns 一个数组。此函数有一个称为 .resolvedOptions()
的实例方法,返回一个包含许多值的对象。我只是继续添加 .timezone
,它返回类似于 "Australia/Queensland" 的内容。
var region = Intl.DateTimeFormat().resolvedOptions().timeZone;
I am assuming this code is run in a browser, and not in a server.
您不能依赖 d.toTimeString()
并删除时区部分来查找时区,toTimeString
可以 return 不同浏览器上的不同格式。规范已将格式留给浏览器供应商。
您可以获得 timezoneOffset
并将其映射到时区名称,但是等等,有一个问题。这可能与地区的夏令时设置冲突。因此,您将需要一组全球夏令时的历史数据。
如果您真的想这样做,请使用 moment with timezones,它可以为您进行查找,他们已经为您创建了所有映射,包括 DST。