仅将日期与 luxon Datetime 进行比较

Pet*_*ran 13 javascript luxon

我有两个 luxon 对象,

let startDate = DateTime.fromISO(startDate)
let someDate = DateTime.fromISO(someDate)
Run Code Online (Sandbox Code Playgroud)

我如何比较 someDate 是否 <= startDate,只有日期,没有时间?

xin*_*ose 22

文档: 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
Run Code Online (Sandbox Code Playgroud)
<script src="https://moment.github.io/luxon/global/luxon.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

  • 这不解决仅比较 DateTime 对象的日期组件的问题。本答案中的示例仍将比较时间分量(如果存在)。 (3认同)

sni*_*ack 17

要仅比较日期,请使用 startOf

startDate.startOf("day") <= someDate.startOf("day")
Run Code Online (Sandbox Code Playgroud)

  • 我认为如果你想检查相等性,最好这样做:`startDate.hasSame(someDate, "day")` (5认同)
  • 我们还可以使用时间戳 `startDate.startOf('day').ts == someDate.startOf('day').ts` 检查相等性 (3认同)