【问题标题】:Convert these time parameters to epoch time将这些时间参数转换为纪元时间
【发布时间】:2017-04-28 20:00:04
【问题描述】:
我有以下价值观;
//date is 14-Dec-2016
let day = 14;
let month = 12;
let year = 2016;
let TimezoneOffset = -480; //Timezone is GMT+0800 (Malay Peninsula Standard Time)
let time = 19:34; //in HHMM format
基于这5个变量,我想在javascript中获取纪元时间。
我正在使用 node.js v6
【问题讨论】:
标签:
javascript
node.js
date
time
epoch
【解决方案1】:
您可以使用这些值创建日期,应用时区偏移量,然后只获取时间值:
var day = 14;
var month = 12;
var year = 2016;
var timezoneOffset = -480; //Timezone is GMT+0800 (Malay Peninsula Standard Time)
var time = '19:34'; //in HHMM format
// Create date using UTC methods but local values
var date = new Date(Date.UTC(year, month - 1, day, time.split(':')[0], time.split(':')[1]));
// Apply timezone offset to set to UTC time
date.setMinutes(date.getMinutes() + timezoneOffset);
var timeValue = date.getTime();
// milliseconds since 1970-01-01T00:00:00Z
console.log(timeValue);
// Check UTC date and time value
console.log(new Date(timeValue).toUTCString());
请注意,按照惯例,以大写字母开头的变量是为构造函数保留的。而像“19:34”这样的时间必须是字符串,而不是数字。