



函数now()取得当前系统时间,等同于系统变量CURRENT_TIMESTAMP。使用to_char(current_timestamp,'YYYY-MM-DD HH24:MI:SS US')可以格式化时间,格式符含义如下:
YYYY表示四位长度的年,MM表示两位长度的月,DD表示两位长度的日,HH24表示二十四小时制的时,MI表示两位长度的分,SS表示两位长度的秒,US表示微秒。
两个时间相差的秒数使用:
extract(epoch FROM (时间1 -时间2 ))
通过该函数,我们可以制作一个自定义函数f_time_span用于表示时间已过去多久的描述。
我们在查询中就可以使用f_time_span得到间隔的描述。
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
为什么起点是这1970年01月01日呢?这源于UNIX操作系统的重要地位。UNIX操作系统它是早期计算机系统的基石之一。1960年代末和1970年代初,UNIX系统开始在贝尔实验室开发。这个操作系统的设计者之一是Ken Thompson,为了在UNIX系统中表示时间,选择了1970年1月1日作为时间戳的起点,这个特定时间点,也被称为时间纪元。
日期转时间戳,使用epoch,单词本身为纪元的意思。
时间戳转日期,使用to_timestamp函数。
关于时间戳的其它语言的处理可参阅 附录三、《关于时间戳》