【问题标题】:how to get a timestamp given date, time and zone in Javascript如何在Javascript中获取给定日期,时间和区域的时间戳
【发布时间】:2018-12-30 16:22:29
【问题描述】:

说,我有以下信息:

亚洲区, 当前日期说 2018 年 7 月 23 日 时间是下午 2.25。

有了这三个值,我想生成像 90001333 这样的时间戳数字... 那可能吗?在 javascript 或 C# 中

【问题讨论】:

  • 是的,只要您有从时区到偏移量的地图。你试过什么?

标签: javascript c# date time timestamp


【解决方案1】:

如果你想要在某些情况下简单而不可靠的 JS:

var unixTime = Date.parse("7/23/2018 02:25:00 GMT+8")

Moment.js

var date = moment("2016-10-11 18:06:03").tz("Asia/Bangkok").format();
var unixTime = moment(date).format("X");

【讨论】:

【解决方案2】:

使用以下:

var time = '2.25 pm'
var date = new Date('7/23/2018');
var isPm = time.indexOf('pm') != -1;
time = time.replace(/pm/g, '');
time = time.replace(/am/g, '');
var spl = time.split(".");
date.setHours(isPm ? 12 + Number(spl[0]) : spl[0], spl[1], 0);
var st = date.toLocaleString('en-US', {
  timeZone: 'Asia/Kolkata'
});


var timestamp = Number(new Date(st));
console.log(new Date(st))
console.log(timestamp)

你可以使用上面的逻辑来完成任务。

【讨论】:

  • @RobG 你能验证这个解决方案吗?
  • 没有。它使用内置解析器来解析非标准字符串,if 解析正确,将被视为本地字符串。因此,取决于主机偏移量的不同 UTC 日期和时间。然后,它会根据 UTC 值和亚洲/加尔各答的时区规则输出结果,这些规则可能与亚洲其他地区具有相同的偏移量和夏令时规则(它们从 +2 到 +10 不等),也可能不同。做OP想要的并不难,这里已经有了答案,但是在知道输入字符串的时区和预期输出之前,这个问题是无法回答的。
猜你喜欢
  • 1970-01-01
  • 2017-05-02
  • 1970-01-01
  • 2020-03-27
  • 2021-12-06
  • 2017-12-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
相关资源
最近更新 更多