我有两个 luxon 对象,
let startDate = DateTime.fromISO(startDate)
let someDate = DateTime.fromISO(someDate)
如果 someDate <= startDate,只有日期,没有时间,我如何比较?
我有两个 luxon 对象,
let startDate = DateTime.fromISO(startDate)
let someDate = DateTime.fromISO(someDate)
如果 someDate <= startDate,只有日期,没有时间,我如何比较?
要仅比较日期,请使用startOf
startDate.startOf("day") <= someDate.startOf("day")
文档:https ://moment.github.io/luxon/#/math?id=comparing-datetimes
var DateTime = luxon.DateTime;
var d1 = DateTime.fromISO('2017-04-30');
var d2 = DateTime.fromISO('2017-04-01');
console.log(d2 < d1); //=> true
console.log(d2 > d1); //=> false
<script src="https://moment.github.io/luxon/global/luxon.min.js"></script>
用于ordinal
以整数形式获取一年中的日期,请参阅https://moment.github.io/luxon/docs/class/src/datetime.js~DateTime.html#instance-get-ordinal
startDate.ordinal <= someDate.ordinal
此github 问题提出的另一个选项可能是创建您自己的 Date 类:
Luxon 不支持[单独的日期类],但通过组合很容易做到:创建一个包装 DateTime 并公开您需要的方法子集的 Date 类。你可以决定你需要为你的应用程序提供多纯的抽象(即你想要做多少工作来使你的包装器功能齐全和纯洁)
这些答案都不适用于闰年。我发现以下成功,
function dateTimesAreSameDay(dateTime1, dateTime2) {
return dateTime1.month === dateTime2.month && dateTime1.day === dateTime2.day;
}