从格式化日期获取 UTC 时间戳 - javascript

get UTC timestamp from formated date - javascript

我有一个 UTC 日期字符串 -> 10/30/2014 10:37:54 AM

如何获取此 UTC 日期的时间戳?据我所知,以下是按当地时间处理

var d = new Date("10/30/2014 10:37:54 AM");
return d.getTime();

谢谢

一个快速的破解方法是在解析之前将 UTC 附加到字符串的末尾:

var d = new Date("10/30/2014 10:37:54 AM UTC"); 

但我建议您使用像 moment.js 这样的库,它可以使解析日期更容易

尝试Date.parse

var d = new Date("10/30/2014 10:37:54 AM");
var timstamp = Date.parse(d) / 1000;

如果格式是固定的,你可以很容易地解析它并使用 Date.UTC() API.

您可以减少 "TimezoneOffset"

var d = new Date("10/30/2014 10:37:54 AM");
return d.getTime() - (d.getTimezoneOffset() *1000 * 60);

你也可以使用UTC功能

var d = new Date("10/30/2014 10:37:54 AM");
return Date.UTC(d.getFullYear(),d.getMonth()+1,d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds());

希望对您有所帮助:

Date date= new Date();
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss");

    date = sdf.parse(date.toString());
    String timestamp = sdf2.format(date);

您可以使用 Date.UTC 创建 UTC 格式的日期对象。

参考:

(function() {
  var d = new Date();
  var d1 = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds()));

  console.log(+d);
  console.log(+d1);
})()