[英]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.