我从数据库中得到了一个时间戳,我需要在用户的时区中显示它的时间。
例如:巴西 16:42,法国 21:42。
这是一个聊天,所以消息需要显示在每个用户的时区。
我在项目中有luxon,但在这种情况下我无法使用任何对我有帮助的文档。
我尝试以某些方式使用这些方法
DateTime.local()和 DateTime.setZone(localZone)
localZone 是接收本地区域的变量,例如:“Europe/Paris”。
谢谢!
我从数据库中得到了一个时间戳,我需要在用户的时区中显示它的时间。
例如:巴西 16:42,法国 21:42。
这是一个聊天,所以消息需要显示在每个用户的时区。
我在项目中有luxon,但在这种情况下我无法使用任何对我有帮助的文档。
我尝试以某些方式使用这些方法
DateTime.local()和 DateTime.setZone(localZone)
localZone 是接收本地区域的变量,例如:“Europe/Paris”。
谢谢!
您可以简单地使用 luxonfromMillis
来解析时间戳(假设它以毫秒为单位)或者fromSeconds
它是否以秒为单位。您还可以通过 zone 选项使用给定的时区创建 luxon 对象。可以用来toFormat()
以所需格式显示时间。你可以有类似下面的东西:
DateTime.fromMillis(timestamp, {zone: localZone}).toFormat('HH:mm')
如果需要,您还可以使用setZone
更改区域属性,这里是使用示例数据的片段:
const DateTime = luxon.DateTime;
let curTimestamp = 1562061791000;
let time = DateTime.fromMillis(curTimestamp)
console.log('Local time:', time.toFormat('HH:mm') );
console.log('Brazil time:', time.setZone('America/Sao_Paulo').toFormat('HH:mm') );
console.log('France time:', DateTime.fromMillis(curTimestamp, {zone: 'Europe/Paris'}).toFormat('HH:mm') );
<script src="https://cdn.jsdelivr.net/npm/luxon@1.16.0/build/global/luxon.js"></script>
如果您想在 Angular 视图中使用 Luxon,请查看luxon-angular。