寫過php+MySQL的程序員都知道有時間差,UNIX時間戳和格式化日期是我們常打交道的兩個時間表示形式,Unix時間戳存儲、處理方便,但是不直觀,格式化日期直觀,但是處理起來不如Unix時間戳那么自如,所以有的時候需要互相轉換,下面給出互相轉換的幾種轉換方式。
一、在MySQL中完成
這種方式在MySQL查詢語句中轉換,優(yōu)點是不占用php解析器的解析時間,速度快,缺點是只能用在數(shù)據庫查詢中,有局限性。
1. UNIX時間戳轉換為日期用函數(shù): FROM_UNIXTIME()
一般形式:select FROM_UNIXTIME(1156219870);
2. 日期轉換為UNIX時間戳用函數(shù): UNIX_TIMESTAMP()
一般形式:Select UNIX_TIMESTAMP('2006-11-04 12:23:00′);
舉例:mysql查詢當天的記錄數(shù):
$sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') order by id desc”;
當然大家也可以選擇在php中進行轉換,下面說說在php中轉換。
二、在php中完成
這種方式在php程序中完成轉換,優(yōu)點是無論是不是數(shù)據庫中查詢獲得的數(shù)據都能轉換,轉換范圍不受限制,缺點是占用php解析器的解析時間,速度相對慢。
1. UNIX時間戳轉換為日期用函數(shù): date()
一般形式:date('Y-m-d H:i:s', 1156219870);
2. 日期轉換為UNIX時間戳用函數(shù):strtotime()
一般形式:strtotime('2010-03-24 08:15:42');
php日期轉時間戳,指定日期轉換成時間戳
php日期轉時間戳、指定日期轉換成時間戳,php定時任務。
這兩天要實現(xiàn)這樣功能:
當達到某一條件時,讓服務器發(fā)短信給用戶,數(shù)量為多條。
基本思路:linux 定時掃描,若有滿足條件的用戶,則發(fā)送短信。
但為了防止打擾到用戶,要求只能在白天8:00-20:00發(fā)送短信,怎么樣獲得到每天的這段時間區(qū)間?
如下代碼:
復制代碼 代碼如下:
<?
$y=date("Y",time());
$m=date("m",time());
$d=date("d",time());
$start_time = mktime(9, 0, 0, $m, $d ,$y);
$end_time = mktime(19, 0, 0, $m, $d ,$y);
$time = time();
if($time >= $start_time && $time <= $end_time)
{
// do something....
}
?>
php技術:php日期轉時間戳,指定日期轉換成時間戳,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。