繁体   English   中英

在编程语言和数据库中存储日期和时间的不同结构如何工作?

[英]How do different structures for storing date and time in programming languages and databases work?

鉴于语言和数据库使用不同的结构来存储日期和时间,当将日期和时间值从编程语言移动到数据库时,哪段代码负责转换日期和时间数据结构,反之亦然?

大多数系统将 DATETIME 存储为浮点数。 小数点左边的值是从第零 (0) 天算起的天数。 零日可以是任何事情。 在 Unix 中,第 0 天是 1/1/1970。 出生年份Unix。 然而,这对普通用户来说不是很直观。 Oracle 使用实际年份 0 和 SQL 服务器使用 1/1/1900。

将数字 0 转换为 DATETIME,您将获得该系统第 0 天。

小数点右边的数字是时间。 这可以以毫秒、微秒为单位记录,无论您的系统可以处理的粒度如何。

这种方法最好的部分是日期数学变得非常简单。 将数字转换为实际日期和时间是非常复杂的。

大多数编程语言都会遵循同样的模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM