亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP中UNIX時間戳和日期間的轉換與計算實例

2024-05-04 23:27:40
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP中UNIX時間戳和日期間的轉換與計算實例,本文講解了將日期和時間轉變成UNIX時間戳、日期的計算等內容,需要的朋友可以參考下
 
 

UNIX時間戳是保存日期和時間的一種緊湊簡潔的方法,是大多數UNIX系統中保存當前日期和時間的一種方法,也是在大多數計算機語言中表示日期和時間的一種標準格式。以32位整數表示格林威治標準時間,例如,使用證書11230499325表示當前時間的時間戳。UNIX時間戳是從1970年1月1日零點(UTC/GMT的午夜)開始起到當前時間所經過的秒數。1970年1月1日零點作為所有日期計算的基礎,這個日期通常成為UNIX紀元。

因為UNIX時間戳是一個32位的數字格式,所以特別適用于計算機處理,例如計算兩個時間點之間相差的天數。另外,由于文化和地區的差異,存在不同的時間格式,以及時區的問題。所以UNIX時間戳也是根據一個時區進行標準化而設計的一種通用格式,并且這種格式可以很容易地轉換為任何格式。也因為UNIX時間戳是一個32位的證書表示的,所以在處理1902年以前或2038年以后的事件將會遇到一些問題。另外,在Windows下,由于時間戳不能為負數,所以使用PHP中提供的時間戳函數處理1970年之前的日期,就會發生錯誤。要使PHP代碼具有可移植性,必須記住這一點。

將日期和時間轉變成UNIX時間戳

在PHP中,如果需要將日期和時間轉變成UNIX時間戳,可以調用mktime()函數。該函數的原型如下所示:

復制代碼代碼如下:

int mktime([int hour [,int minute[,int second[,int month[,int day[int year]]]]]])

該函數中所有參數都是可選的,如果參數為空,默認將當前時間轉變成UNIX時間戳。這樣,和直接調用time()函數獲取當前的UNIX時間戳功能相同。參數也可以從右向左省略,任何省略的參數會被設置成本地日期和時間的當前值。如果只想轉變日期,對具體的時間不在乎,可以將前三個轉變時間的參數都設置為0.mktime()函數對于日期運算和驗證非常有用,它可以自動校政越界的輸入。如下所示:

 

 

復制代碼代碼如下:

<?php
echo date("Y-m-d",mktime(0,0,0,12,36,2008))."/n";    //日期超過31天,計算后輸出 2009-01-05
echo date("Y-m-d",mktime(0,0,0,14,1,2010))."/n";     //月份超過12月,計算后輸出2011-02-01
echo date("Y-m-d",mktime(0,0,0,1,1,2012))."/n";      //沒有問題的轉變,輸出結果2012-01-01
echo date("Y-m-d",mktime(0,0,0,1,1,99))."/n";        //會將99年轉變為1999年, 1990-01-01
?>

 

如果有需要將任何英文文本的日期時間描述直接解析為UNIX時間戳,可以使用strtotime()函數,該函數的圓形如下所示:

 

復制代碼代碼如下:

int strtotime(string time[,int now])

 

函數strtotime()可以用英語的自然語言創建謳歌時刻的時間戳,接受一個包含美國英語日期格式的字符串并嘗試將其解析為UNIX時間戳(自January 1 1970 00:00:00 GMT起的描述),其值相對于now參數給出的時間,如果沒有提供次參數則用系統當前時間。該函數執行成功則返回時間戳,否則返回FALSE。和mktime()的對比如下所示:

 

復制代碼代碼如下:

<?php
echo date("Y-m-d", strtotime("now"));                  //輸出現在的時間戳
echo date("Y-m-d", strtotime("8 may 2012"));           //輸出2012-05-08
echo date("Y-m-d", strtotime("+1 day"));               //輸出現在的日期加1天
echo date("Y-m-d", strtotime("last monday"));          //輸出2012-04-02
?>

 

下例通過使用strtotime()函數編寫一個紀念日的倒計時程序,來介紹一下該函數在項目開發中的實際應用,示例代碼如下所示:

 

復制代碼代碼如下:

<?php
$now =strtotime("now"); //當前時間
$endtime= strtotime("2014-08-18 08:08:08"); //設定畢業時間,轉成時間戳
 
$second = $endtime-$now; //獲取畢業時間到現在時間的時間戳(秒數)
$year = floor($second/3600/24/365); //從這個時間戳中換算出年頭數
 
$temp =$second-$year*365*24*3600; //從這個時間戳中去掉整年的秒數,就剩下月份的秒數
$month=floor($temp/3600/24/30); //從這個時間戳中共換算出月數
 
$temp=$temp-$month*30*3600*24; //從時間戳中去掉整月的秒數,就剩下天的描述
$day = floor($temp/24/3600); //從這個時間戳中換算出剩余的天數
 
$temp=$temp-$day*3600*24; //從這個時間戳中去掉整天的秒數,就剩下小時的秒數
$hour = floor($temp/3600); //從這個時間戳中換算出剩余的小時數
 
$temp=$temp- $hour*3600; //從時間戳中去掉小時的秒數,就剩下分的秒數
$minute=floor($temp/60); //從這個時間戳中換算出剩余的分數
 
$second1=$temp-$minute*60; //最后只有剩余的秒數了
 
echo "距離培訓畢業還有($year)年($month)月($day)天($hour)小時($minute)分($second1)秒。";
?>

 

注意:如果給定的年份是兩位數字的格式,則其值0-69表示2000-2069,70-100表示1970-2000。

日期的計算

在PHP中,計算兩個日期之間相隔的長度,最簡單的方法就是通過計算兩個UNIX時間戳之差來獲得。例如,在PHP腳本中接收來自HTML表單用戶提交的出生日期,計算這個用戶的年齡。如下所示:

 

復制代碼代碼如下:

<?php
//從表單中接收用戶提交的出生日期中的年份、月份、天
$year = 1981;
$month = 11;
$day = 05;
$birthday = mktime(0,0,0,$month,$day,$year); //將出生日期轉變為UNIX時間戳
$nowdate = time(); //調用time()函數獲取當前時間的UNIX時間戳
$ageunix = $nowdate -$birthday; //兩個時間戳相減獲取用戶年齡的UNIX時間戳
$age = floor($ageunix/3600/24/365); //將UNIX時間戳除以一年的秒數獲取用戶的年齡
echo "年齡:$age";
 
?>

 

在以上的腳本中,調用mktime()函數將從用戶出生日期轉變為UNIX時間戳,再調用time()函數獲取當前時間的UNIX時間戳。因為這個日期的格式都是使用整數表示的,所以可以將他們相減。又將計算后獲取的UNIX時間戳除以一年的秒數,將UNIX時間戳轉變為以年度量的單位。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
九九热r在线视频精品| 国产高清视频一区三区| 成人日韩在线电影| 色悠悠久久88| 国产欧美精品在线| 精品国偷自产在线视频| 成人黄色在线观看| 亚洲国产97在线精品一区| 国产精品色视频| 狠狠色噜噜狠狠狠狠97| 国产精品丝袜久久久久久高清| 欧美中文在线免费| 亚洲男人的天堂在线播放| 国产不卡一区二区在线播放| 欧美精品在线极品| 亚洲美女性视频| 欧美一区视频在线| 中文字幕欧美国内| 亚洲第一福利在线观看| 精品五月天久久| 国产亚洲一区二区在线| 亚洲九九九在线观看| 九九热精品视频在线播放| 国产成人涩涩涩视频在线观看| 久久精品91久久久久久再现| 欧美亚洲国产精品| 国产亚洲一级高清| 日韩在线观看免费| 亲爱的老师9免费观看全集电视剧| 色偷偷88888欧美精品久久久| 欧美日韩一区二区免费在线观看| 日韩精品视频免费专区在线播放| 超薄丝袜一区二区| 国产精品视频网址| 国产a∨精品一区二区三区不卡| 国产成人精品一区二区在线| 日本亚洲欧美三级| 欧美激情国产高清| 久久不射热爱视频精品| 日韩国产欧美精品一区二区三区| 在线视频欧美日韩| 91高清视频免费观看| 欧美日韩亚洲精品一区二区三区| 久久99国产综合精品女同| 国产精品国产三级国产专播精品人| 亚洲欧美中文字幕在线一区| 久久久久一本一区二区青青蜜月| 国产欧美婷婷中文| 成人精品在线观看| 欧美日韩第一页| 日韩欧美极品在线观看| 91久久精品国产91久久性色| 亚洲精品国产欧美| 中文字幕一区日韩电影| 欧美俄罗斯乱妇| 91av在线看| 日韩综合中文字幕| 日本高清不卡在线| 国产欧美va欧美va香蕉在| 日韩精品在线播放| 亚洲福利精品在线| 国产精品福利在线观看网址| 亚洲综合最新在线| 欧美日韩成人在线播放| 久久九九热免费视频| 久久国产精品电影| 欧美黑人巨大xxx极品| 精品国产依人香蕉在线精品| 国产精品久久久久久久久免费| 久久久精品影院| 欧美激情在线观看| 国产精品日韩在线播放| 欧美精品在线网站| 亚洲综合小说区| 亚洲韩国日本中文字幕| 成人在线免费观看视视频| 欧美日韩福利电影| 亚洲成人1234| 欧美精品videosex性欧美| 亚洲欧美综合区自拍另类| 国产视频精品自拍| 国产精品精品视频| 日韩男女性生活视频| 国产91精品高潮白浆喷水| 精品视频久久久| 日韩精品在线观看一区| 国产精品视频久久| 日韩美女福利视频| 欧美日韩性生活视频| 国产精品久久久久免费a∨| 亚洲精品视频二区| 日韩欧美在线中文字幕| 日韩精品亚洲元码| 3344国产精品免费看| 午夜精品久久久久久久99热| 亚洲人午夜精品免费| 欧美激情va永久在线播放| 国产一区二区三区在线免费观看| 成人乱人伦精品视频在线观看| 色综合视频网站| 亚洲精品一二区| 日韩精品久久久久久福利| 国产精品扒开腿做爽爽爽视频| 亚洲一区二区在线播放| 日韩av影片在线观看| 久久久久久12| 欧美色道久久88综合亚洲精品| 亚洲国产精品国自产拍av秋霞| 日韩一区av在线| 亚洲精品美女在线| 成人福利在线观看| 国产精品欧美久久久| 久国内精品在线| 国内伊人久久久久久网站视频| 日韩大片免费观看视频播放| 国产精品一区二区久久久| 中文字幕日韩电影| 亚洲国内精品视频| 亚洲国产天堂网精品网站| 欧美性jizz18性欧美| 亚洲人成欧美中文字幕| 亚洲欧洲国产伦综合| 亚洲电影av在线| 成人羞羞国产免费| 在线视频亚洲欧美| 欧美日韩国产中字| 久久亚洲欧美日韩精品专区| 欧美电影《睫毛膏》| 国产成+人+综合+亚洲欧美丁香花| 亚洲free性xxxx护士白浆| 在线观看国产精品91| 亚洲欧洲免费视频| 日本精品视频在线| 亚洲人成绝费网站色www| 国模视频一区二区| 欧美成人在线网站| 欧美精品激情视频| 亚洲a在线播放| 久国内精品在线| www.99久久热国产日韩欧美.com| 奇门遁甲1982国语版免费观看高清| 欧美高跟鞋交xxxxhd| 亚洲第一区第一页| 91日本视频在线| 国产日韩欧美视频在线| 精品国产一区久久久| 日韩精品在线视频观看| 国产91精品久久久久久| 久久久久久有精品国产| 色综合久综合久久综合久鬼88| 日韩电视剧免费观看网站| 一色桃子一区二区| 日韩av影视在线| 欧美激情精品久久久久久| 欧美日韩一区二区免费在线观看| 日韩动漫免费观看电视剧高清| 国模叶桐国产精品一区| 国外色69视频在线观看| 国产精品久久综合av爱欲tv| 久久久久久久电影一区| 日韩国产激情在线| 精品国产户外野外| 欧美在线免费视频| 亚洲欧美另类人妖|