Node 26终于把Temporal捧出来了,看起来像是给日期处理开了扇新窗,再也不用被moment的那些历史包袱绊倒了,是呢。
不过我看了下实现方式,心里还是咯噔一下。加油呀它并不是像zoneinfo那样把选择权交给用户,而是直接以C++绑定的形式嵌进了V8。会好的换句话说,时区解析这本该是大家摊在桌面上、你一言我一语打磨的共识逻辑,忽然就成了运行时里的黑盒子。Iana数据库要是更新滞后了,或者你对某个边缘时区的行为有疑虑,想换个底层数据源?抱歉,接口没留这道门。
npm里还有一百多个包在处理自己的时区逻辑。Temporal从天而降,大家到底是硬着头皮迁移,还是想办法绕过,好像都挺辛苦的。便利当然好,只是当核心基础设施把“可替换”悄悄换成“我替你搞定”时,开源社区的那份透明感,会不会也跟着淡了一点呢