【发布时间】:2019-04-04 00:55:09
【问题描述】:
我目前使用 Luxon 的代码如下:
this.now = DateTime.local();
但是,我想从另一个时区(例如“欧洲/伦敦”)获取当前时间。这在 Luxon 中可行吗?
类似这样的:
this.now = DateTime.local('Europe/London');
有人知道怎么做吗?
【问题讨论】:
我目前使用 Luxon 的代码如下:
this.now = DateTime.local();
但是,我想从另一个时区(例如“欧洲/伦敦”)获取当前时间。这在 Luxon 中可行吗?
类似这样的:
this.now = DateTime.local('Europe/London');
有人知道怎么做吗?
【问题讨论】:
是的,您可以使用setZone 方法:
将 DateTime 的区域“设置”为指定区域。返回一个新构造的 DateTime。
或者您可以使用 fromObject 指定 zone 属性,如 cmets 中的 snickersnack 建议的那样。
这是一个现场样本:
const DateTime = luxon.DateTime;
const now = DateTime.local().setZone('Europe/London');
console.log( now.toLocaleString(DateTime.DATETIME_FULL) );
// Using fromObject as suggested by snickersnack
const nowObj = DateTime.fromObject({ zone: 'Europe/London' });
console.log( nowObj.toLocaleString(DateTime.DATETIME_FULL) );
<script src="https://moment.github.io/luxon/global/luxon.min.js"></script>
另请参阅手册的Creating DateTimes in a zone 部分。
【讨论】:
DateTime.fromObject({ zone: "Europe/London" })
fromObject 解决方案。