在计较机系统中,文献时刻戳(timestamp)用于记载文献的创建、修改或走访时刻。然则,一些用户可能遇到过这么的情况:当使用 NewFileTime 或简鹿文献批量重定名功能听时刻属性修改处理日历早于 1980 年的文献时,系统泄清晰错或无法正确识别时刻信息。这种表象背后避讳着计较机科学历史和技巧抑遏的真谛故事。
为什么是 1980 年?
大大齐当代操作系统和编程话语的时刻示意神志齐基于 Unix 时刻(Unix time),也称作 POSIX 时刻或 Epoch 时刻。Unix 时刻界说为自 1970 年1月1日午夜(UTC)以来进程的秒数。因此,1970 年景为了计较机纪元的开端。
但是,为什么会出现 1980 年的抑遏呢?这主如果由于某些早期的文献系统盘算决定和硬件技巧局限所形成的。举例,FAT(File Allocation Table,文献分派表)文献系统是微软在1977年开荒的一种文献系统花样,它被平常期骗于多样存储介质上,如软盘、硬盘等。FAT文献系统的日历花样仅使用16位来示意时刻戳,其中7位用于年份,从1980年运转计较,5位用于月份,4位用于日历。这意味着FAT文献系统最早只可示意1980年的日历,任何更早的时刻齐无法准确记载。
张开剩余54%技巧细节
如前所述,FAT 文献系统将 1980 年手脚其日历计数的开端。关于每个文献,它会存储一个 16 位的时刻戳,包括年份、月份和日历。这一盘算聘请简化了其时硬件上的数据存储需求,但也截止了它对往日日历的援救。
并非扫数的文献系统齐有这么的抑遏。举例,NTFS(New Technology File System)、ext系列(Linux常用)、HFS+(Apple旧修复)等较新的文献系统未必援救更早的日历。这些系统时时遴选更大的字段来存储时刻信息,或者胜利使用Unix时刻戳,不错讲求到更久远的历史时间。
本体影响
在本体期骗中,如果尝试在不兼容的文献系统上读取或写入早于 1980 年的日历,可能会遭受以下几种情况:
特地融会:系统可能会将早于 1980 年的日历诬陷为其他日历,以致产生无敬爱的成果。
拒却操作:有些才气或操作系统会胜利拒却处理超出其日历限制的数据,以幸免潜在的特地。
默许确立:某些情况下,系统可能会自动将无效日历替换为默许值,时时是 1980 年 1 月 1 日。
诚然 1980 年的日历抑遏听起来像是一个迂腐的问题,但它已经存在于很多老旧的硬件和软件环境中。了解这个历史布景有助于咱们更好地统一面前的技巧架构,并指示咱们在盘算将来系统时计划遥远兼容性的枢纽性。跟着科技的逾越澳门新金沙app(中国)官方网站,越来越多的处分决策正在被提倡,确保咱们不错愈加纯真地处理跨越不同庚代的数据。
发布于:广东省