我目前正在编写一段代码,需要将一个大的UTC日期列表格式化为ISO格式的特定时区。
对于基准测试,我只使用Date#toISOString()
对它们进行格式化,基准测试的平均执行时间为93毫秒。
下面是我测试过的其他几个(使用时区操作)
卢克森
DateTime.now().setZone(ZONE).toISO())
date-fns-tz
formatInTimeZone(new Date(), ZONE, "yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
day.js
dayjs.extend(utc);
dayjs.extend(timezone);
dayjs().tz(ZONE).format()
平均执行时间:
| 图书馆|平均执行时间(ms)|
| --------------|--------------|
| Date.toIsoString()|九十三|
| 勒克松|一三六七|
| date-fns-tz|一六六二|
| day.js |二一三七|
由此,我们可以看到时区操作对性能的影响很大。有没有一个原因,这是固有的缓慢?在任何情况下,是否有更高性能的替代品?
1条答案
按热度按时间thtygnil1#
我认为如果你尝试手动设置偏移量,然后使用toISOString。
例如,将日期转换为PST时区IsoString的函数。(PST为-8小时)
希望能帮上点忙