UNIX_TIMESTAMP()()中时间函数的区别是什么

介绍

UNIX_TIMESTAMP()()中时间函数的区别是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<强> mysql中:UNIX_TIMESTAMP (), UNIX_TIMESTAMP(日期)
若无参数调用,则返回一个Unix时间戳(& # 39;1970-01-01就是# 39;格林尼治时间之后的秒数)作为无符号整数。若用日期来调用UNIX_TIMESTAMP(),它会将参数值以& # 39;1970-01-01就是# 39;格林尼治时间后的秒数的形式返回.date可以是一个日字符串,一个DATETIME字符串,一个时间戳或一个当地时间的YYMMDD或YYYMMDD格式的数字。
mysql>选择UNIX_TIMESTAMP ();
→882226357
mysql>选择UNIX_TIMESTAMP (& # 39; 1997-10-04 22:23:00& # 39;);
→875996580
当UNIX_TIMESTAMP被用在时间戳列时,函数直接返回内部时戳值,而不进行任何隐含的“string-to-Unix-timestamp”转化。假如你向UNIX_TIMESTAMP()传递一个溢出日期,它会返回0,但请注意只有基本范围检查会被履行(年份从1970年到2037年,月份从1到12日期从1到31)。

<强>这里我们可以使用
FROM_UNIXTIME (UNIX_TIMESTAMP) FROM_UNIXTIME (UNIX_TIMESTAMP,格式)来格式化一个UNIX_TIMESTAMP()时间戳,它将返回& # 39;YYYY-MM-DD HH: MM: ss # 39;或YYYYMMDDHHMMSS格式值的UNIX_TIMESTAMP参数表示,具体格式取决于该函数是否用在字符串中或是数字语境中。
若格式已经给出,则结果的格式是根据格式字符串而定。格式可以包含同DATE_FORMAT()函数输入项列表中相同的说明符。
mysql>选择FROM_UNIXTIME (875996580),
→& # 39;1997-10-04 22:23:00& # 39;
mysql>选择FROM_UNIXTIME (875996580) + 0;
→19971004222300
mysql>选择FROM_UNIXTIME (UNIX_TIMESTAMP (),
→& # 39;h % Y % D % M %: %我:% s % x # 39;);
→& # 39;2003 2003年8月6日06:22:58 & # 39;

<强> php中:时间()
时间——返回当前的Unix时间戳
返回自从Unix纪元(格林威治时间1970年1月1日就是)到当前时间的秒数。
从字面上理解他们是一样的,都是返回自从Unix纪元到当前时间的秒数。

笔者在同一台服务器上做了一个测试,发现两者返回的结果是一样的。
在mysql中用FROM_UNIXTIME (1156219870, & # 39; y - % - % d % # 39;)
和php中用日期(“y-m-d", 1156219870)结果也是一样相同的!唯一不肯确定的是那一个反应更加快速。不过我还是倾向与用php中()的时间函数!

UNIX_TIMESTAMP()()中时间函数的区别是什么