怎样的方式时刻.Tz的意思是瞬间时区用luxon表示



我正在尝试将此示例代码moment-timezone转换为luxon, moment中的代码示例如下,

const momentTask = moment().hour(14).minute(0).second(0).milliseconds(0);
console.log(
`This momentTask 1`,
moment.tz(momentTask, "Europe/Spain")
);

谁能帮我怎么把这个变成luxon?

您可以使用DateTime.fromObject()函数创建luxon DateTime值,将时区设置为'Europe/Madrid'。

不需要设置分、秒、毫秒的值,它们默认为零。

const { DateTime } = luxon;
const dt = DateTime.fromObject( { hour: 14 }, { zone: 'Europe/Madrid' } );
console.log(dt.toString());
.as-console-wrapper { max-height: 100% !important; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/luxon/3.0.1/luxon.min.js" integrity="sha512-6ZJuab/UnRq1muTChgrVxJhSgygmL2GMLVmSJN7pcBEqJ1dWPbqN9CiZ6U3HrcApTIJsLnMgXYBYgtVkJ8fWiw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

如果你想转换为JS日期,你可以使用DateTime.toJSDate():

const { DateTime } = luxon;
const dt = luxon.DateTime.now().startOf('day').set({ hour: 14 });
const jsDate = dt.toJSDate();
console.log('Result (to JS Date):', jsDate);
.as-console-wrapper { max-height: 100% !important; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/luxon/3.0.1/luxon.min.js" integrity="sha512-6ZJuab/UnRq1muTChgrVxJhSgygmL2GMLVmSJN7pcBEqJ1dWPbqN9CiZ6U3HrcApTIJsLnMgXYBYgtVkJ8fWiw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

最新更新