Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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
Angular/Javascript Luxon-将时间戳更改时间转换为当前用户时区_Javascript_Angular_Luxon - Fatal编程技术网

Angular/Javascript Luxon-将时间戳更改时间转换为当前用户时区

Angular/Javascript Luxon-将时间戳更改时间转换为当前用户时区,javascript,angular,luxon,Javascript,Angular,Luxon,我从数据库中得到了一个时间戳,我需要在用户的时区中显示它的时间 巴西16:42,法国21:42 这是一个聊天,所以信息需要显示在每个用户的时区 我在这个项目中做了很多工作,但是我不能使用任何有助于我解决这个问题的文档 我试着在某些方面使用这些方法 DateTime.local()和 DateTime.setZone(localZone) localZone是接收本地区域的变量,例如:“Europe/Paris” 谢谢大家! 您可以简单地使用luxon解析时间戳(假设时间戳以毫秒为单位),或者如果

我从数据库中得到了一个时间戳,我需要在用户的时区中显示它的时间

巴西16:42,法国21:42

这是一个聊天,所以信息需要显示在每个用户的时区

我在这个项目中做了很多工作,但是我不能使用任何有助于我解决这个问题的文档

我试着在某些方面使用这些方法

DateTime.local()和 DateTime.setZone(localZone)

localZone是接收本地区域的变量,例如:“Europe/Paris”

谢谢大家!

您可以简单地使用luxon解析时间戳(假设时间戳以毫秒为单位),或者如果时间戳以秒为单位。您还可以传递zone选项以使用给定时区创建luxon对象。可以使用以所需格式显示时间。您可以有如下内容:

DateTime.fromMillis(timestamp, {zone: localZone}).toFormat('HH:mm')
如果需要,还可以使用更改分区属性,这里是使用示例数据的代码段:

const DateTime=luxon.DateTime;
设curTimestamp=1562061791000;
let time=日期时间。从毫秒(curTimestamp)
console.log('localtime:',time.toFormat('HH:mm');
console.log('巴西时间:',time.setZone('美国/圣保罗').toFormat('HH:mm');
log('France time:',DateTime.fromMillis(curTimestamp,{zone:'Europe/Paris'}).toFormat('HH:mm')

你好!我仍然有问题,例如,日程安排不对。如果我在巴西使用DateTime.fromMillis(timestamp).setZone('Europe/Paris')。toFormat('HH:mm')时在09:57发送消息,输出是18:57,但应该是15:57,对吗?发送消息时可能是时间戳创建的原因吗?luxon是否有最推荐的生成此时间戳的方法?谢谢你的帮助@马修斯鲁菲诺今天09:57在圣保罗(巴西)是14:57在巴黎(见)。使用[
toMillis()
]()获取luxon对象的历元毫秒数。我不完全明白你的问题是什么,请尝试提供你的尝试和你想要的结果的代码示例,请参阅感谢!现在它工作了,用它给我的形式。问题在于生成的时间戳,而不是转换为本地时间。DateTime.local().toMillis(timestamp)和使用DateTime.fromMillis(timestamp).toFormat('HH:mm')有效。