如何使用Luxon库实现类似C# DateTime.Today的无时间日期比较?
嘿,这个问题我太熟悉啦!在Luxon里实现类似C# DateTime.Today的功能其实超简单,完全不用像原生JS那样手动去设置时分秒那么繁琐。
你只需要用Luxon的链式调用,先获取当前的本地日期时间,再调用startOf('day')方法就能直接把时间部分重置为当日的午夜(也就是00:00:00.000),完美对应你要的忽略时间的当日日期:
const today = luxon.DateTime.local().startOf('day');
这个方法是Luxon官方推荐的写法,比原生JS的new Date(new Date().setHours(0,0,0,0))优雅太多了。而且如果你的需求是和另一个日期对象比较是否为同一天,其实还有更省事的方式——直接用Luxon的hasSame()方法,连重置时间步骤都可以跳过:
// 假设你有一个已有的Date对象或Luxon DateTime对象 const targetDate = luxon.DateTime.fromJSDate(yourExistingDate); const isSameDay = luxon.DateTime.local().hasSame(targetDate, 'day');
这样直接比较两个日期的「日」部分是否一致,代码更简洁,逻辑也更清晰。
如果确实需要转成原生Date对象来和其他JS Date交互,只需要在后面加个toJSDate()就行:
const todayAsJsDate = luxon.DateTime.local().startOf('day').toJSDate();
内容的提问来源于stack exchange,提问作者Ciaran Gallagher
相关产品推荐
相关产品推荐

