国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php日期轉時間戳,指定日期轉換成時間戳

2024-09-04 11:45:32
字體:
來源:轉載
供稿:網友

有朋友問php與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查詢當天的記錄數,代碼如下:

  1. $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程序中完成轉換,優點是無論是不是數據庫中查詢獲得的數據都能轉換,轉換范圍不受限制,缺點是占用PHP解析器的解析時間,速度相對慢.

1. UNIX時間戳轉換為日期用函數:date() 

一般形式:date('Y-m-d H:i:s', 1156219870); 

2. 日期轉換為UNIX時間戳用函數:strtotime() 一般形式:

strtotime('2010-03-24 08:15:42');

例,代碼如下:

  1. <?php 
  2. class SaonekController extends Controller { 
  3.  public function indexAction(){ 
  4. /*時間戳轉換成日期不用說了 
  5. 但是日期要轉成時間戳的話就要用到strtotime() 
  6. */ 
  7.          $time = time();//時間戳 
  8.    $nowtime = date('Y-m-d H:i:s',$time);//生成帶格式的日期 
  9.    $oldtime = '2010-11-10 22:19:21'
  10.          $catime = strtotime($oldtime);//日期轉換為時間戳 
  11.    $nowtimes = date('Y-m-d H:i:s',$catime);//時間戳又轉回日期了 
  12.    echo  $nowtimes
  13.  } 
  14.  
  15. ?> 

要求只能在白天8:00-20:00發送短信,怎么樣獲得到每天的這段時間區間?如下代碼:

  1. <?  
  2. $y=date("Y",time());  
  3. $m=date("m",time());  
  4. $d=date("d",time());  
  5. $start_time = mktime(9, 0, 0, $m$d ,$y);  
  6. $end_time = mktime(19, 0, 0, $m$d ,$y);  
  7. $time = time();  
  8. if($time >= $start_time && $time <= $end_time)  
  9. {  
  10. // do something....  
  11. }  
  12. ?> 

一些你不知道的用法,代碼如下:

  1. <?php 
  2. # on 2/8/2010 
  3. date('m/d/y'strtotime('first day')); # 02/01/10 
  4. date('m/d/y'strtotime('last day')); # 02/28/10 
  5. date('m/d/y'strtotime('last day next month')); # 03/31/10 
  6. date('m/d/y'strtotime('last day last month')); # 01/31/10 
  7. date('m/d/y'strtotime('2009-12 last day')); # 12/31/09 - this doesn't work if you reverse the order of the year and month 
  8. date('m/d/y'strtotime('2009-03 last day')); # 03/31/09 
  9. date('m/d/y'strtotime('2009-03')); # 03/01/09 
  10. date('m/d/y'strtotime('last day of march 2009')); # 03/31/09 
  11. date('m/d/y'strtotime('last day of march')); # 03/31/10 
  12. ?> 

注意:php5.1以上時間戳會與實際時間相差8小時,解決辦法如下.

1、最簡單的方法就是不要用php5.1以上的版本--顯然這是不可取的方法?。?!

2、修改php.ini。打開php.ini查找date.timezone 去掉前面的分號= 后面加Asia/Shanghai,重啟apache服務器即可--缺點就是如果程序,放到別人的服務器上,不能修改php.ini,那就奈何不得了.

3、在程序中添加時間的初始化的語句的,即:“date_default_timezone_set("Asia/Shanghai"); ”這個可以由程序員任意設置,我的推薦。

時區標識符,大陸內地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次為中國,重慶,上海,烏魯木齊),Etc/GMT-8,Asia/Harbin

港臺地區可用:Asia/Macao,Asia/Hong_Kong,Asia/Taipei(依次為澳門,香港,臺北)

還有新加坡:Asia/Singapore

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤壁市| 通州区| 石狮市| 湖州市| 武陟县| 泰来县| 东方市| 岳西县| 青海省| 仲巴县| 阿荣旗| 玛纳斯县| 赫章县| 博野县| 交口县| 特克斯县| 元阳县| 蓬溪县| 云和县| 武安市| 盐池县| 梧州市| 石狮市| 永定县| 长武县| 庄浪县| 乌海市| 西乌| 石阡县| 珠海市| 大石桥市| 邵阳县| 阿尔山市| 宜兰市| 新蔡县| 阿合奇县| 阿拉善盟| 奉化市| 佳木斯市| 泸西县| 永定县|