急!将mysql中日期转化为时间戳

急!将mysql中日期转化为时间戳,第1张

以下代码希望对你有帮助!

<

echo("当前时间为:"date("Y-m-d

h:i:s")"<br>");

$n=strtotime(date("Y-m-d

h:i:s"));//用PHP时间戳转化为数字

echo("用PHP时间戳转化为数字:"$n)"<br>";

$n=date("Y-m-d

h:i:s",$n);//显示的时候再转化为时间:

echo("显示的时候再转化为时间:"$n)"<br>";

>

SELECT  FROM table_name where DATE_FORMAT(date1,'%Y-%m-%d %H:%i:%s')>'2015-09-04 00:00:00'

select curDate(); #获取当前日期select curTime(); #获取当前时间select now(); #获取当前日期+时间

列举1个天数加减的例子,其他的看英文意思就可以理解了

select date_add(now(), interval 1 day); #当前日期天数+1

select date_add(now(), interval -1 day); #当前日期天数-1

select date_add(now(), interval 1 hour);

select date_add(now(), interval 1 minute);

select date_add(now(), interval 1 second);

select date_add(now(), interval 1 microsecond);

select date_add(now(), interval 1 week);

select date_add(now(), interval 1 month);

select date_add(now(), interval 1 quarter);

select date_add(now(), interval 1 year);

date_sub与date_add功能整合相反

select

date_sub(now(), interval 1 day); #当前日期天数-select date_sub(now(),

interval -1 day); #当前日期天数+select date_sub(now(), interval 1

hour); select date_sub(now(), interval 1 minute)select date_sub(now(),

interval 1 second)select date_sub(now(), interval 1 microsecond)select

date_sub(now(), interval 1 week)select date_sub(now(), interval 1

month)select date_sub(now(), interval 1 quarter)select date_sub(now(),

interval 1 year);

datediff函数计算两个日期间隔的天数

datediff(date1, date2); #date1 - date2

timediff函数计算两个时间间隔

timediff(time1, time2); #time1 - time2

time1和time2的格式必须要一样,返回时间差

str_to_date(str, format) 字符串转换为日期

select str_to_date('11/09/2014', '%m/%d/%Y'); -- 2014-11-09

1、将时间转换为时间戳

[sql] view plaincopyprint

select unix_timestamp('2009-10-26 10-06-07')

如果参数为空,则处理为当前时间

2、将时间戳转换为时间

[sql] view plaincopyprint

select from_unixtime(1256540102)

有些应用生成的时间戳是比这个多出三位,是毫秒表示,如果要转换,需要先将最后三位去掉,否则返回NULL

UNIX_TIMESTAMP(date)

如果没有参数调用,返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一个date参数被调用,它返回从'1970-01-01 00:00:00' GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的 本地时间的一个数字。

[sql] view plaincopyprint

mysql> select UNIX_TIMESTAMP();

-> 882226357

mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');

-> 875996580

当UNIX_TIMESTAMP被用于一个TIMESTAMP列,函数将直接接受值,没有隐含的“string-to-unix-timestamp”变换。

FROM_UNIXTIME(unix_timestamp)

以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值,取决于函数是在一个字符串还是或数字上下文中被使用。

[sql] view plaincopyprint

mysql> select FROM_UNIXTIME(875996580);

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

mysql> select FROM_UNIXTIME(875996580) + 0;

-> 19971004222300

FROM_UNIXTIME(unix_timestamp,format)

返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。

[sql] view plaincopyprint

mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),

'%Y %D %M %h:%i:%s %x');

-> '1997 23rd December 03:43:30 x'

通过 UNIX_TIMESTAMP 函数把 MySQL 数据库中的 date 类型数据转换成 unix timestamp 形式的一个整形数字:

[sql] view plaincopyprint

select UNIX_TIMESTAMP('2006-02-28') testdate;

[sql] view plaincopyprint

按理说得到的时间戳应该可以直接拿来给 PHP 的 date() 等函数使用。但奇怪的是:

echo date("Y-m-d",$testdate);

显示出来的日期跟数据库实际的日期相比却少了一天,百思不得其解。反复查看 MySQL 关于 UNIX_TIMESTAMP 函数的说明,终于发现问题所在:“The server interprets date as a value in the current time zone and converts it to an internal value in UTC” 原来 MySQL 的 UNIX_TIMESTAMP 函数得到的时间戳是 UTC 时间,而不是服务器设定的特定 Time zone 的时间。经过这样一转化,时间戳就凭空少了8个小时(对于咱这里来说),而 PHP 中的 timestamp 则计算的都是系统设定时区的当地时间。因此 2006-02-28 这个日期被减去了8个小时,自然变成了2006-02-27。

[sql] view plaincopyprint

解决方法:把这八个小时加回去(UNIX_TIMESTAMP('2006-02-28' + INTERVAL 8 HOUR));或者弃用 UNIX_TIMESTAMP 函数, 直接得到 MySQL date 字符串之后通过 strtotime() 函数来把字符串转化成真正的本地时间戳。

找出下个月生日的动物也是容易的。假定当前月是4月,那么月值是4,你可以找在5月出生的动物 (5月),方法是:

[sql] view plaincopyprint

mysql> SELECT name, birth FROM pet WHERE MONTH(birth) = 5;

$conn=mysql_connect("localhost","root","1234")or die("连接数据库失败");

$conndb=mysql_select_db("test",$conn)or die("连接表失败");

$query="select from ttable";

$result = mysql_query($query,$conn);

while($row = mysql_fetch_array($result)){

$rows[]=$row;

}

$random =rand(0,count($rows));

print_r($rows[$random]);

mysql 中把时间戳转换成普通时间,使用FROM_UNIXTIME函数

一、FROM_UNIXTIME函数简介

1、函数作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。

2、语法:FROM_UNIXTIME(unix_timestamp,format)

返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。

根据format字符串格式化date值。

下列修饰符可以被用在format字符串中:

3、例子:

SELECT FROM_UNIXTIME(1500109248, '%Y-%m-%d %H:%i:%S')

返回:2017-07-15 17:00:48

以上就是关于急!将mysql中日期转化为时间戳全部的内容,包括:急!将mysql中日期转化为时间戳、mysql如何获取昨天的数据、怎样在MySQL中 *** 作日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9700821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存