mysql怎么使用时间戳,mysql如何获取当前时间的时间戳

mysql中怎么将时间转化为时间戳

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

创新互联专注于企业全网整合营销推广、网站重做改版、丰县网站定制设计、自适应品牌网站建设、H5开发购物商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为丰县等各大城市提供网站开发制作服务。

一、FROM_UNIXTIME函数简介

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

2、语法:FROM_UNIXTIME(unix_timestamp,format)

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

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

什么是mysql 的时间戳

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中的时间戳读取问题

如何处理mysql中的时间戳读取问题

mysql将时间戳转成常用时间格式

在mysql中,一个时间字段的存储类型是int(11),怎么转化成字符类型,比方存储为13270655222,需要转化为yyyy -mm-dd的形式

使用 FROM_UNIXTIME函数,具体如下:

FROM_UNIXTIME(unix_timestamp,format)

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

根据format字符串格式化date值。下列修饰符可以被用在format字符串中: %M 月名字(January……December)

%W 星期名字(Sunday……Saturday)

%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)

%Y 年, 数字, 4 位

%y 年, 数字, 2 位

%a 缩写的星期名字(Sun……Sat)

%d 月份中的天数, 数字(00……31)

%e 月份中的天数, 数字(0……31)

%m 月, 数字(01……12)

%c 月, 数字(1……12)

%b 缩写的月份名字(Jan……Dec)

%j 一年中的天数(001……366)

%H 小时(00……23)

%k 小时(0……23)

%h 小时(01……12)

%I 小时(01……12)

%l 小时(1……12)

%i 分钟, 数字(00……59)

%r 时间,12 小时(hh:mm:ss [AP]M)

%T 时间,24 小时(hh:mm:ss)

%S 秒(00……59)

%s 秒(00……59)

%p AM或PM

%w 一个星期中的天数(0=Sunday ……6=Saturday )

%U 星期(0……52), 这里星期天是星期的第一天

%u 星期(0……52), 这里星期一是星期的第一天

%% 一个文字“%”。

所有的其他字符不做解释被复制到结果中。

MYSQL如何本月时间戳

如果是日期字符串类型就是~

CREATE TABLE 表名

(

time datetime NOT NULL DEFAULT NOW(),

...

)

如果是时间戳~

CREATE TABLE 表名

(

time int NOT NULL DEFAULT CURRENT_TIMESTAMP(),

...

)

mysql怎么获取时间戳的函数UNIX

mysql怎么获取时间戳的函数UNIX_TIMESTAMP?我们收集了网络上流行的各种关于获取UNIX_TIMESTAMP的方法总结。

CREATE TRIGGER cus_info_tbl_tr AFTER INSERT ON cus_info_tbl

FOR EACH ROW

INSERT INTO summary_tbl ( `school_id`, `province_id`, `city_id`, `year`, `month`, `day`, `hour`, `minute`, `first_time`, `intdate` ) VALUES

( NEW.school_id,

NEW.province_id,

NEW.city_id,

YEAR( NEW.date_call ),

MONTH( NEW.date_call ),

DAYOFMONTH( NEW.date_call ),

HOUR( NEW.date_call ),

MINUTE( NEW.date_call ),

NEW.first_time,

UNIX_TIMESTAMP( NEW.date_call )+28800

);

看到了吧,在这个时间戳后面再加上8个小时的秒数就搞定了,呵呵。

不过我在google的时候注意到有很多兄弟都反应UNIX_TIMESTAMP和php中的mktime得到的值是一样的,但是我这里却出现了问题,到现在也没有能够找到原因。

代码如下 复制代码

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中UNIX_TIMESTAMP()函数的应用比较

应用:

代码如下 复制代码

SELECT(

UNIX_TIMESTAMP(endtime)-UNIX_TIMESTAMP(startime)

)/31536000year,id,name

FROMtestime

LIMIT0,30

这里我们可以使用

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 时间戳

strtotime() 也可以转换Unix 时间戳


文章题目:mysql怎么使用时间戳,mysql如何获取当前时间的时间戳
标题路径:http://ybzwz.com/article/hccdsd.html