1. 程式人生 > >mysql中存取的為時間戳轉換為時間日期格式的兩種方式

mysql中存取的為時間戳轉換為時間日期格式的兩種方式

一、在mysql中完成

這種方式在MySQL查詢語句中轉換,優點是不佔用PHP解析器的解析時間,速度快,缺點是隻能用在資料庫查詢中,有侷限性
1. UNIX時間戳轉換為日期用函式: FROM_UNIXTIME()
一般形式:select FROM_UNIXTIME(1156219870);
2. 日期轉換為UNIX時間戳用函式: UNIX_TIMESTAMP()
一般形式:Select UNIX_TIMESTAMP('2006-11-04 12:23:00′);
舉例:mysql查詢當天的記錄數:

$sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m-%d'
) = DATE_FORMAT(NOW(),'%Y-%m-%d') order by id desc”;

在laravel框架中的使用

$result = DB::table('t_users')->select('t_users.*',DB::raw('FROM_UNIXTIME(t_users.createtime,"%Y-%m-%d %H:%i:%s") as times'))->where('id',195)->get();

當然大家也可以選擇在PHP中進行轉換,下面說說在PHP中轉換。

二、在php中完成

這種方式在PHP程式中完成轉換,優點是無論是不是資料庫中查詢獲得的資料都能轉換,轉換範圍不受限制,缺點是佔用PHP解析器的解析時間,速度相對慢。
1. UNIX時間戳轉換為日期用函式: date()


一般形式:date('Y-m-d H:i:s', 1156219870);
當返回給前端的資料是時間戳時可以用:

<?php
echo date('Y-m-d H:i:s', 1156219870);
?>

直接巢狀在h5程式碼中。
2. 日期轉換為UNIX時間戳用函式:strtotime()
一般形式:strtotime('2010-03-24 08:15:42');