mysql中UNIX_TIMESTAMP()函数和php中time()函数的区别

http://tech.ddvip.com/2009-01/1231392775105351.html mysql 中:UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)

  若无参数调用,则返回一个 Unix timestamp (‘1970-01-01 00:00:00‘ GMT 之后的秒数) 作为无符号整数。若用date 来调用 UNIX_TIMESTAMP(),它会将参数值以‘1970-01-01 00:00:00‘ GMT后的秒数的形式返回。date 可以是一个 DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。

  mysql> Select UNIX_TIMESTAMP();

  -> 882226357

  mysql> Select UNIX_TIMESTAMP(‘1997-10-04 22:23:00‘);

  -> 875996580

  当 UNIX_TIMESTAMP 被用在 TIMESTAMP列时, 函数直接返回内部时戳值, 而不进行任何隐含的 “string-to-Unix-timestamp”转化。假如你向UNIX_TIMESTAMP()传递一个溢出日期,它会返回 0,但请注意只有基本范围检查会被履行 (年份从1970 到 2037, 月份从01 到12,日期从 01 到31)。

  这里我们可以使用

  FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format) 来格式化一个UNIX_TIMESTAMP()时间戳,它将返回‘YYYY-MM-DD HH:MM:SS‘或YYYYMMDDHHMMSS 格式值的 unix_timestamp参数表示,具体格式取决于该函数是否用在字符串中或是数字语境中。

  若format 已经给出,则结果的格式是根据format 字符串而定。 format 可以包含同DATE_FORMAT() 函数输入项列表中相同的说明符。

  mysql> Select FROM_UNIXTIME(875996580);

  -> ‘1997-10-04 22:23:00‘

  mysql> Select FROM_UNIXTIME(875996580) + 0;

  -> 19971004222300

  mysql> Select FROM_UNIXTIME(UNIX_TIMESTAMP(),

  -> ‘%Y %D %M %h:%i:%s %x‘);

  -> ‘2003 6th August 06:22:58 2003‘

  php中:time()

  time -- 返回当前的 Unix 时间戳

  返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。

  从字面上理解他们是一样的,都是返回 自从 Unix 纪元到当前时间的秒数。

  笔者在同一台服务器上做了一个测试,发现两者返回的结果是一样的 。

  在mysql中用 FROM_UNIXTIME( 1156219870 ,‘%y-%m-%d‘ )

  和php中用date( "y-m-d",1156219870 )结果也是一样相同的!唯一不肯确定的是那一个反应更加快速。不过我还是倾向与用php中的time()函数

时间: 2024-08-04 00:22:48

mysql中UNIX_TIMESTAMP()函数和php中time()函数的区别的相关文章

mysql 中 unix_timestamp和from_unixtime函数

1.unix_timestamp 将时间转化为时间戳.(date 类型数据转换成 timestamp 形式整数) 没传时间参数则取当前时间的时间戳 mysql> select unix_timestamp();+------------------+| unix_timestamp() |+------------------+|       1361586358 |+------------------+1 row in set (0.01 sec) mysql> select unix_t

mysql 中 unix_timestamp,from_unixtime 时间戳函数

1.unix_timestamp 将时间转化为时间戳.(date 类型数据转换成 timestamp 形式整数) 没传时间参数则取当前时间的时间戳 mysql> select unix_timestamp();+------------------+| unix_timestamp() |+------------------+|       1361586358 |+------------------+1 row in set (0.01 sec) mysql> select unix_t

mysql常用内置函数-查询语句中不能使用strtotime()函数!

来自:http://yushine.iteye.com/blog/775407 FROM_UNIXTIME把 unix时间戳转换为标准时间 unix_timestamp把标准时间转换为 unix时间戳//查询语句中不能使用strtotime()函数!但是可以使用unix_timestamp DATE_FORMAT('1997-10-04 22:23:00','%Y-%m-%d') 格式化时间 如:select FROM_UNIXTIME(pubdate) from article where p

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同. mysql> SELECT TIMESTAMPDIFF(MONTH,'200

Java学习总结(十八)——MySQL数据库(4)MySQL数据库中的视图,函数,存储过程中常见循环

一.MySQL存储过程中常见的循环1.while循环:WHILE.....DO.....END WHILE例1:创建存储过程(求1+2+.......+num的和):创建成功,进行调用:显示结果:2.REPEAT循环: REPEAT.........UNTLL END REPEAT例2:创建存储过程:创建完成,调用存储过程:显示结果:3.LOOP循环:LOOP END LOOP 例3:创建存储过程:创建成功,调用存储过程:显示结果:二.MySQL中的视图1.概念:有结构(有行有列),但没有结果(

Mysql基础代码(不断完善中)

Mysql基础代码,不断完善中~ 1 //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. 2 3 4 /* [命名规则] */ 5 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 6 变量名建议用下划线方式分隔 // $var_name 7 函数名建议用驼峰命名法 // varName 8 定界符建议全大写 // <<<DING, <<<'DING' 9 文件名建议全小写和下划线.数字 // func_n

《Mysql技术内幕》札记(中)

 第四章   表 一.innodb逻辑结构 Innodb存储引擎表,每张表都有个主键,如果没有显示的主键,则innodb存储引擎会按如下的方式选择或创建主键. 是否有非空的唯一索引,如果有即为主键 不符合上述条件,innodb自动创建一个6个字节大小的指针 表空间由段,区,页组成. Innodb_file_per_table选项,每张表的表空间内存放的只是数据,索引和插入缓冲.其他类型undo信息,系统事务信息,二次写缓冲等还是存放在原来的共享表空间内.即使在Innodb_file_per_ta

php中的func_num_args、func_get_arg与func_get_args函数

https://www.cnblogs.com/xiaochaohuashengmi/archive/2011/09/21/2183157.html php的的func_num_args.func_get_arg和func_get_args都是返回函数实参相关的函数. func_num_args:实参个数: func_get_arg:返回某一个实参,必须事实参数组的索引: func_get_args:返回实参数组; <php function test(){ echo func_num_args

Oracle函数(更新中)

1,case when用法 从表中根据时间点不同查询出活动的状态. select t.*,(case when (t.start_date <= sysdate and t.end_date >= sysdate)then '报名中' when t.fw_date_z < sysdate then '已结束' when (t.fw_date <= sysdate and t.fw_date_z >= sysdate)then '进行中' when (t.fw_date_z i