Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/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:如何显示格式化的时间戳w.r.t UTC timezome_Javascript_Datetime - Fatal编程技术网

javascript:如何显示格式化的时间戳w.r.t UTC timezome

javascript:如何显示格式化的时间戳w.r.t UTC timezome,javascript,datetime,Javascript,Datetime,目前我在GMT+0530时区工作 new Date() Fri Mar 06 2020 11:29:12 GMT+0530 (India Standard Time) 现在,我正试图格式化它,因为我需要 var today = new Date(); var date = today.toLocaleString('default', { weekday: 'short' })+' '+today.toLocaleString('default', { month: 'short' })+'-

目前我在GMT+0530时区工作

new Date()
Fri Mar 06 2020 11:29:12 GMT+0530 (India Standard Time)
现在,我正试图格式化它,因为我需要

var today = new Date();
var date = today.toLocaleString('default', { weekday: 'short' })+' '+today.toLocaleString('default', { month: 'short' })+'-'+today.getDate();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dateTime = date+' '+time+' '+today.getFullYear();
时间存储如下

2020年3月6日星期五11:22:4


现在,如何以相同的格式获取UTC时间

您可以获取时区和UTC之间的偏移量,然后使用添加的偏移量创建一个新的日期,并像以前一样格式化它

var localToday=new Date();
var offset=localToday.getTimezoneOffset();
var today=新日期(localToday.getTime()+(偏移量*60*1000));
var date=today.tolocalString('default',{weekday:'short'})+''+today.tolocalString('default',{month:'short'})+'-'+today.getDate();
var time=today.getHours()+“:“+today.getMinutes()+”:“+today.getSeconds();
var dateTime=date+''+time+''+today.getFullYear();

console.log(dateTime)
您可以获取时区和UTC之间的偏移量,然后使用添加的偏移量创建一个新的日期,并像以前一样格式化它

var localToday=new Date();
var offset=localToday.getTimezoneOffset();
var today=新日期(localToday.getTime()+(偏移量*60*1000));
var date=today.tolocalString('default',{weekday:'short'})+''+today.tolocalString('default',{month:'short'})+'-'+today.getDate();
var time=today.getHours()+“:“+today.getMinutes()+”:“+today.getSeconds();
var dateTime=date+''+time+''+today.getFullYear();

console.log(dateTime)尝试使用矩js。它有各种各样的标志,以你想要的方式格式化

工作沙箱:


尝试使用矩js。它有各种各样的标志,以你想要的方式格式化

工作沙箱:

由于您使用的是带有选项的toLocaleString,因此只需将时区指定为UTC,并对日期和时间使用UTC方法,例如:

var today=新日期();
var date=today.tolocalString('default',{weekday:'short',时区:'UTC'})+'+
tolocalString('default',{month:'short',时区:'UTC'})+'-'+
tolocalString('default',{day:'2位',时区:'UTC'});
//var time=today.getUTCHours()+“:“+today.getUTCMinutes()+”:“+today.getUTCSeconds();
var time=today.tolocalString('default',{hour:'2位',minute:'2位',second:'2位',hour12:false,时区:'UTC'});
var year=today.tolocalString('default',{year:'numeric',时区:'UTC'});
var dateTime=日期+时间+年份;
console.log(dateTime)由于您使用的是带有选项的toLocaleString,因此只需将时区指定为UTC,并对日期和时间使用UTC方法,例如:

var today=新日期();
var date=today.tolocalString('default',{weekday:'short',时区:'UTC'})+'+
tolocalString('default',{month:'short',时区:'UTC'})+'-'+
tolocalString('default',{day:'2位',时区:'UTC'});
//var time=today.getUTCHours()+“:“+today.getUTCMinutes()+”:“+today.getUTCSeconds();
var time=today.tolocalString('default',{hour:'2位',minute:'2位',second:'2位',hour12:false,时区:'UTC'});
var year=today.tolocalString('default',{year:'numeric',时区:'UTC'});
var dateTime=日期+时间+年份;

console.log(dateTime)@Santosh Yedidi,可能是try momentjs:一个用于解析、操作和格式化的轻量级(4.3k)javascript日期库dates@SantoshYedidi,可能是try momentjs:一个轻量级(4.3k)javascript日期库,用于解析、操作和格式化日期
toLocaleString
{weekday:'short',时区:'UTC'}
这就是我所想的如何实现timezomein
到本地通信
{weekday:'short',timeZone:'UTC'}
这就是我所想的如何实现timezomein这可能会在偏移量跨越夏令时边界时得到错误的时间。如果在toLocaleString中将时区设置为UTC,则也没有必要使用此选项。
getTimezoneOffset()
用于DST。在使用夏时制的地方,您可以使用
console.log(新日期(2020,0,1).getTimezoneOffset())进行验证;log(新日期(2020年6月1日).getTimezoneOffset())是的,这就是问题所在。以这种方式通过偏移量调整日期时,它可以将本地时间带入或移出夏令时,因此在代码中应用的偏移量与用于确定get*方法偏移量的偏移量不同。我看不出问题所在,你能给出一个与我的答案不同的日期和/或时区示例吗?将你的系统设置为夏令时。从一个日期和时间开始,在该日期和时间中添加时区偏移将使其跨越夏令时边界。现在检查函数返回未调整日期的实际UTC日期和时间的日期和时间。DST偏移量会有所不同(在某些地方通常为1小时或30分钟)。在偏移量跨越夏令时边界时,这可能会得到错误的时间。如果在toLocaleString中将时区设置为UTC,则也没有必要使用此选项。
getTimezoneOffset()
用于DST。在使用夏时制的地方,您可以使用
console.log(新日期(2020,0,1).getTimezoneOffset())进行验证;log(新日期(2020年6月1日).getTimezoneOffset())是的,这就是问题所在。以这种方式通过偏移量调整日期时,它可以将本地时间带入或移出夏令时,因此在代码中应用的偏移量与用于确定get*方法偏移量的偏移量不同。我看不出问题所在,你能给出一个与我的答案不同的日期和/或时区示例吗?将你的系统设置为夏令时。从一个日期和时间开始,在该日期和时间中添加时区偏移将使其跨越夏令时边界。现在检查函数返回未调整日期的实际UTC日期和时间的日期和时间。我
const moment = require("moment");
console.log(moment.utc().format('ddd MMM-D YYYY HH:mm:ss'));