mysql 中把時(shí)間戳轉(zhuǎn)換成普通時(shí)間,使用FROM_UNIXTIME函數(shù)
創(chuàng)新互聯(lián)公司一直通過(guò)網(wǎng)站建設(shè)和網(wǎng)站營(yíng)銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以成都做網(wǎng)站、成都網(wǎng)站建設(shè)、移動(dòng)互聯(lián)產(chǎn)品、全網(wǎng)整合營(yíng)銷推廣服務(wù)為核心業(yè)務(wù)。十多年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價(jià)格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡(jiǎn)單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。
一、FROM_UNIXTIME函數(shù)簡(jiǎn)介
1、函數(shù)作用:將MYSQL中以INT(11)存儲(chǔ)的時(shí)間以"YYYY-MM-DD"格式來(lái)顯示。
2、語(yǔ)法:FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 時(shí)間標(biāo)記的一個(gè)字符串,根據(jù)format字符串格式化。format可以包含與DATE_FORMAT()函數(shù)列出的條目同樣的修飾符。
根據(jù)format字符串格式化date值。
下列修飾符可以被用在format字符串中:
3、例子:
SELECT?FROM_UNIXTIME(1500109248,?'%Y-%m-%d?%H:%i:%S')
返回:2017-07-15 17:00:48
首先,你接數(shù)據(jù)用date來(lái)接,
其次,用simpledateformat方法的format方法。
補(bǔ)充:parse方法是將創(chuàng)建的yyyy-M-d字符串類型的日期,比如2018-1-12換成date類型。用的接收數(shù)據(jù)庫(kù)數(shù)據(jù)方法和格式化方法不對(duì)。
寫過(guò)PHP+MySQL的程序員都知道有時(shí)間差,UNIX時(shí)間戳和格式化日期是我們常打交道的兩個(gè)時(shí)間表示形式,Unix時(shí)間戳存儲(chǔ)、處理方便,但是不直觀,格式化日期直觀,但是處理起來(lái)不如Unix時(shí)間戳那么自如,所以有的時(shí)候需要互相轉(zhuǎn)換,下面給出互相轉(zhuǎn)換的幾種轉(zhuǎn)換方式。
一、在MySQL中完成
這種方式在MySQL查詢語(yǔ)句中轉(zhuǎn)換,優(yōu)點(diǎn)是不占用PHP解析器的解析時(shí)間,速度快,缺點(diǎn)是只能用在數(shù)據(jù)庫(kù)查詢中,有局限性。
1.
UNIX時(shí)間戳轉(zhuǎn)換為日期用函數(shù):
FROM_UNIXTIME()
一般形式:select
FROM_UNIXTIME(1156219870);
2.
日期轉(zhuǎn)換為UNIX時(shí)間戳用函數(shù):
UNIX_TIMESTAMP()
一般形式:Select
UNIX_TIMESTAMP('2006-11-04
12:23:00′);
舉例:mysql查詢當(dāng)天的記錄數(shù):
$sql=”select
*
from
message
Where
DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m-%d')
=
DATE_FORMAT(NOW(),'%Y-%m-%d')
order
by
id
desc”;
當(dāng)然大家也可以選擇在PHP中進(jìn)行轉(zhuǎn)換,下面說(shuō)說(shuō)在PHP中轉(zhuǎn)換。
二、在PHP中完成
這種方式在PHP程序中完成轉(zhuǎn)換,優(yōu)點(diǎn)是無(wú)論是不是數(shù)據(jù)庫(kù)中查詢獲得的數(shù)據(jù)都能轉(zhuǎn)換,轉(zhuǎn)換范圍不受限制,缺點(diǎn)是占用PHP解析器的解析時(shí)間,速度相對(duì)慢。
1.
UNIX時(shí)間戳轉(zhuǎn)換為日期用函數(shù):
date()
一般形式:date('Y-m-d
H:i:s',
1156219870);
2.
日期轉(zhuǎn)換為UNIX時(shí)間戳用函數(shù):strtotime()
一般形式:strtotime('2010-03-24
08:15:42');
關(guān)鍵字:DATE_FORMA T(date, format) 根據(jù)格式串format 格式化日期或日期和時(shí)間值date,返回結(jié)果串。
select date_format(日期,’%Y-%m-%d’) as ‘日期’ from table_name
1、在mysql 數(shù)據(jù)庫(kù)中,“2009-09-15 00:00:00”轉(zhuǎn)化為列為長(zhǎng)整型的函數(shù):
[java] view plaincopy
select unix_timstamp("2009-09-15 00:00:00")*1000,
這里要注意,mysql數(shù)據(jù)庫(kù)中的長(zhǎng)整型,比java中的長(zhǎng)整型少了秒后面的毫秒數(shù),所以要乘以1000,這樣只有幾毫秒之差
2、在mysql數(shù)據(jù)庫(kù)中,“1252999488000”(java中的long型數(shù)據(jù))轉(zhuǎn)化為日期:
[java] view plaincopy