Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从今天开始获取UTC时间戳';s当地时间_Javascript_Timestamp_Unix Timestamp_Utc - Fatal编程技术网

Javascript 从今天开始获取UTC时间戳';s当地时间

Javascript 从今天开始获取UTC时间戳';s当地时间,javascript,timestamp,unix-timestamp,utc,Javascript,Timestamp,Unix Timestamp,Utc,假设我知道这次(hh:mm:ss)没有日期,但我知道是今天: 12:34:56 我知道时间是在CST时区(UTC+0800)。我需要从时间中获取时间戳 假设当前UTC时间为2014/08/25 17:10:00,CST时间为2014/08/26 01:10:00(UTC+0800),这意味着CST时间已经是第二天了。所以我不能用这样的东西: var d = new Date().toJSON().slice(0,10); // "d" returns "2014-08-25" in local

假设我知道这次(hh:mm:ss)没有日期,但我知道是今天:

12:34:56

我知道时间是在CST时区(UTC+0800)。我需要从时间中获取时间戳

假设当前UTC时间为2014/08/25 17:10:00CST时间为2014/08/26 01:10:00(UTC+0800),这意味着CST时间已经是第二天了。所以我不能用这样的东西:

var d = new Date().toJSON().slice(0,10);
// "d" returns "2014-08-25" in local time -> this is bad
我需要将其转换为:

1:10(CST)-->至2014/08/25 17:10(UTC)或其时间戳1408986600


当我只知道时间和时区时,如何获得完整的日期时间或时间戳?

您始终可以直接操作对象的属性:

var date = new Date();

date.setHours(5);
date.setMinutes(12);
date.setSeconds(10);

console.log(date.toUTCString());

我想我找到了一个简单的方法:


如何“说出”日期对象是CST而不是本地时间?我不在CST,但“1:10”以上的时间是。新日期是否在正确的时区为您生成日期?在NodeJS中,它使用您的时区环境变量。在浏览器中,它应该使用您的操作系统设置。我不知道有什么简单的方法可以设置为非本地时区,但是nodej和浏览器世界中可用的库是不同的。或者,始终可以将UTC时间戳值移动适当的秒数,然后重新渲染。
// hh:mm:ss in CST timezone
var cst_time = '1:10:00'; 

// get today's date in CST timezone
var cst_today = moment.tz("Asia/Shanghai").format("YYYY-MM-DD"); 

// convert date and time from CST to UTC and format it
var timestamp = moment(cst_today + " " + cst_time + " +0800").utc().format("YYYY/MM/DD HH:mm:ss");

// returns "2014/08/25 17:10:00" and it is correct
console.log(timestamp);