1

我使用我的 .net 核心 api 将帖子的创建日期存储为 DateTime.UtcNow()。

如果我使用 Moment.js,它很简单:

convertedDate(date: Date) {
    return moment.utc(date).fromNow();
}

这将返回 22 小时前或 19 分钟前的内容。

我无法真正找到有关如何使用 luxon 库的信息。

有小费吗?

4

3 回答 3

2

首先包括库或安装,比如

<script src="https://cdn.jsdelivr.net/npm/luxon@1.10.0/build/global/luxon.js"></script>

然后使用以下格式获得正确的输出:

const DateTime = luxon.DateTime;
console.log(DateTime.local().plus({ days: 1 }).toRelative()); // in 23 hours
console.log(DateTime.local().minus({ days: 2 }).toRelative({ unit: "hours" })); //48 hours ago
console.log(DateTime.local().toObject()); // year: 2020 month: 2 day: 25 hour: 0 minute: 4 second: 20 millisecond: 764
console.log(DateTime.local(2014, 7, 13).toSQL({ includeZone: true })); // 2014-07-13 00:00:00.000 Asia/Dhaka

此外,如果您想探索更多以了解其他方法,请阅读 Luxon 的文档。

https://moment.github.io/luxon/index.html
于 2020-02-24T18:08:43.053 回答
2

看起来 Luxon 不支持这种行为,因为它无法访问国际化字符串。可以在此处找到更多信息/替代方案。

https://github.com/moment/luxon/issues/364

于 2020-02-24T17:29:16.157 回答
0

您可以使用toRelative() luxon功能,它的工作方式相同。例如:

DateTime.local().minus({ days: 2 }).toRelative() //=> "2 days ago"
于 2021-02-08T17:19:14.293 回答