首頁 後端開發 php教程 php日期時間操作一籮筐

php日期時間操作一籮筐

Jun 06, 2019 am 11:47 AM
php日期時間

php日期時間操作一籮筐

下载 (1).jpg

格式化日期時間

date : 格式化日期時間

  • 場景

#將目前日期時間或特定日期時間格式化輸出為特定格式的字串,常用於人性化展示訊息.

  • 說明

##回傳給定時間戳格式化後所產生的日期時間字串,如果沒有給出時間戳則預設使用本地當前時間.

  • 備註

#格式說明 傳回值範例#Yy19M#Jan 到DecmDdHh01 到12#I10#i2 字元thjs
4 位元數字完整表示的年份 2019
2 位元數字表示的年份
三個字母縮寫表示的月份
數字表示的月份,有前導零 01 到12
星期中的第幾天,文字表示,3個字母 Mon 到Sun
月份中的第幾天,有前導零的2 位數字 01 到31
##24 小時格式,有前導零 00 到23
#小時,12 小時格式,有前導零
是否為夏令時如果是夏令時為 ,否則為
有前導零的分鐘數字 00 到59 #S每月天數後面的英文字尾,
st,nd,rd ,可以和 一起用
######秒數,有前導零#########00 到59############# ##
  • 常用格式

// 形如 2019-05-31 12:00:00echo date("Y-m-d H:i:s");
// 形如 2019/05/31 12:00:00echo date("Y/m/d H:i:s");
// 形如 2019年05月31日 12时00分00秒echo date("Y年m月d日 H时i分s秒");
登入後複製
  • 範例

##

<?php
// 设置当前时区为上海时区
date_default_timezone_set("Asia/Shanghai");

// 获取当前时区 : Asia/Shanghai
echo "当前时区 : ".date_default_timezone_get()."<br/>";

// `Y年m月d日 H时i分s秒` 格式化当前时间 : 2019年05月30日 22时32分46秒
echo "当前时间 : ".date("Y年m月d日 H时i分s秒")."<br/>";

// `Y-m-d H:i:s` 格式化当前时间 : 2019-05-30 22:32:46
echo "当前时间 : ".date("Y-m-d H:i:s")."<br/>";

// `w` 星期中的第几天,数字表示: 0(表示星期天)到 6(表示星期六)
switch (date("w")) {    
    case &#39;0&#39;:
        $dayStr = "日";        
        break;    
    case &#39;1&#39;:
    $dayStr = "一";        
    break;    
  case &#39;2&#39;:
    $dayStr = "二";        
    break;    
  case &#39;3&#39;:
    $dayStr = "三";      
    break;   
  case &#39;4&#39;:
    $dayStr = "四";        
    break;    
  case &#39;5&#39;:
    $dayStr = "五";        
    break;    
  case &#39;6&#39;:
    $dayStr = "六";        
    break;    
  default:
    $dayStr = "未知";        
    break;
} 
// 2019年05月30日 星期四
echo "当前时间 : ".date("Y年m月d日")." 星期".$dayStr."<br/>";
echo "<hr/>";

// `z` 年份中的第几天 : 今天是全年的第149天
echo "今天是全年的第".date("z")."天<br/>";

// `W` ISO-8601 格式年份中的第几周,每周从星期一开始 : 本周是全年的第22周
echo "本周是全年的第".date("W")."周<br/>";

// `t` 指定的月份有几天 : 本月共有31天
echo "本月共有".date("t")."天<br/>";
?>
登入後複製
日期轉換時間戳

#time : 傳回目前的Unix 時間戳
  • 場景

    取得目前日期時間或特定日期時間的時間戳記,常用於日期時間之間的相互轉換.
  • #說明

返回自從Unix 紀元(格林威治時間1970年1月1日00:00:00)到目前時間的

秒數
    .
  • 範例

#

<?php
// 设置当前时区为上海时区
date_default_timezone_set("Asia/Shanghai");

// 获取当前时区
echo "当前时区 : ".date_default_timezone_get()."<br/>";

// 一周前的日期时间: 7 days; 24 hours; 60 mins; 60 
secs$preWeek = time() - (7 * 24 * 60 * 60);
echo "现在是".date("Y-m-d H:i:s").",上周是".date("Y-m-d H:i:s",$preWeek)."<br/>";

// 一周后的日期时间: 7 days; 24 hours; 60 mins; 60 secs
$nextWeek = time() + (7 * 24 * 60 * 60);
echo "现在是".date("Y-m-d H:i:s").",下周是".date("Y-m-d H:i:s",$nextWeek)."<br/>";
?>
登入後複製

microtime : 傳回目前Unix時間戳與微秒數
  • 場景

    #取得目前日期時間或特定日期時間的時間戳,常用於程式運行過程打點分析,也可以用於日期時間之間的互相轉換.
  • 說明

    目前Unix 時間戳記以及微秒數,本函數僅在支援`gettimeofday()`` 系統呼叫的作業系統下可用.

  • 範例

<?php

// 设置当前时区为上海时区
date_default_timezone_set("Asia/Shanghai");

// 获取当前时区
cho "当前时区 : ".date_default_timezone_get()."<br/>";

// 当前日期时间戳
echo "当前日期时间戳: ".time()." <--> ".microtime()." <--> ".microtime(TRUE)."<br/>";

?>
登入後複製

mktime : 取得一個日期的Unix 時間戳記
  • ##場景

取得給定日期的時間戳記,按照"時分秒月日年"格式依序解析,傳回時間戳記.
  • 說明

根據給定的參數傳回Unix 時間戳記.
  • 備註

格式說明#參數範例 小時數# #nmonth01 到12 jday01 到31#year0-69

格式: 时分秒 月日年,支持从右往左依次省略,被省略的值取当前时间的对应值.

  • 示例

<?php
// 设置当前时区为上海时区
date_default_timezone_set("Asia/Shanghai");

// 获取当前时区
echo "当前时区 : ".date_default_timezone_get()."<br/>"; 

// 指定日期时间戳: 时分秒 月日年 : 1559275200 <--> 2019-05-31 12:00:00
echo "2019年05月31日 12:00:00 的时间戳: ".mktime(12,0,0,5,31,2019)." <--> ".date("Y-m-d H:i:s", mktime(12,0,0,5,31,2019))."<br/>"; 

// 距离国庆节还有多少天,单位秒 : 今天是2019-05-31,距离国庆节还剩122天
$nationalDay = mktime(0,0,0,10,1,2019);
$currentDay = time();
$remainingDay = floor(abs($nationalDay - $currentDay)/(24*3600));
echo "今天是".date("Y-m-d").",距离国庆节还剩".$remainingDay."天<br/>";
?>
登入後複製

strtotime : 将任何字符串的日期时间描述解析为 Unix 时间戳

  • 场景

将英文日期解析成时间戳,比直接解析日期方便,采用自然语义而不是编程语言进行转换日期.

  • 说明

本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数,其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间.

  • 常用格式

// 2019-06-02
echo date("Y-m-d", strtotime("2019-05-31 +2 days"));

// 2019-07-01
echo date("Y-m-d", strtotime("2019-05-31 +1 month"));

// 2019-06-09
echo date("Y-m-d", strtotime("2019-05-31 +1 week 2 days 4 hours 2 seconds"));
登入後複製
  • 示例

<?php
// 设置当前时区为上海时区
date_default_timezone_set("Asia/Shanghai");

// 获取当前时区
echo "当前时区 : ".date_default_timezone_get()."<br/>";

// 当前日期时间戳
echo "当前日期时间戳: ".time()." <--> ".strtotime("now")." <--> ".date("Y-m-d H:i:s", strtotime("now"))."<br/>";

// 一周后的日期时间: 7 days; 24 hours; 60 mins; 60 secs
$nextWeek = time() + (7 * 24 * 60 * 60);
echo "现在是".date("Y-m-d H:i:s").",下周是".date("Y-m-d H:i:s",$nextWeek)." <--> ".date("Y-m-d H:i:s",strtotime("+1 week"))."<br/>";

echo "现在是".date("Y-m-d H:i:s").",1周2天4小时2秒是".date("Y-m-d H:i:s",strtotime("+1 week 2 days 4 hours 2 seconds"))."<br/>";

echo "现在是".date("Y-m-d H:i:s").",下周三是".date("Y-m-d H:i:s",strtotime("next Thursday"))."<br/>";
?>
登入後複製


日期时间函总结

日期时间函数库是 php 内置的函数库,默认情况下已启用,值得注意的是,日期时间和时区有关,建议首先设置下时区.

纵观日期时间的操作方法,总的来说,可以大致分为两类,一类是给计算机用的,另一类是给人看的.

  • 给人看的

date_default_timezone_set("Asia/Shanghai") : 设置当前脚本使用的时区date("Y-m-d H:i:s") : 格式化日期时间date("Y-m-d", strtotime("2019-05-31 +2 days")) : 格式化英文描述的日期时间

  • 给计算机用的

time() : 当前时间的秒数microtime() : 当前时间的秒数和微秒数strtotime() : 将字符串形式的日期时间转换成时间戳

最后,文档那么齐全,不懂就去多看看,忘记有啥方法全靠 ide 智能提示就好,多用用就会慢慢熟练。

推荐教程:PHP制作阴阳历转换的日历插件

以上是php日期時間操作一籮筐的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

php怎麼將日期轉為時間戳 php怎麼將日期轉為時間戳 Mar 24, 2023 am 10:57 AM

在使用PHP編寫程式時,我們常常需要將日期轉換為時間戳,或是將時間戳轉換為日期。這個過程在PHP中非常簡單,只需要使用幾個簡單的函數就可以輕鬆完成。在本文中,我們將介紹如何將PHP日期轉換為時間戳,同時也討論一些常見的使用場景。

如何用PHP計算日期差幾個月 如何用PHP計算日期差幾個月 Mar 21, 2023 pm 02:52 PM

計算日期差值在實際應用中非常常見,例如在做網站開發時,我們可能需要計算兩個日期之間的差值,以便正確地顯示時間戳記、倒數計時等。而在計算日期差值時,我們常常需要計算兩個日期的月份差值,以下我們來介紹如何用PHP計算日期差幾個月。

php怎麼會根據年月日判斷是一年的第幾天 php怎麼會根據年月日判斷是一年的第幾天 Apr 22, 2022 pm 05:02 PM

判斷方法:1、使用「strtotime("年-月-日")」語句將給定的年月日轉換為時間戳格式;2、以「date("z",時間戳)+1」語句計算指定時間戳記是一年的第幾天。 date()傳回的天數是從0開始計算的,因此真實天數需要在此基礎上加1。

php怎麼取得目前日期和星期幾 php怎麼取得目前日期和星期幾 Jan 07, 2023 pm 04:27 PM

在PHP中,可以使用date()函數來取得目前日期和星期幾。只要將date()函數的第二個參數省略,第一個參數設定為「Y-m-d H:i:s」即可取得目前日期,語法「date("Y-m-d H:i:s")」;而當第一個參數設定為「N」時則可取得是星期幾,語法「date("N")」。 「N」可回到ISO-8601格式數字表示的星期中的第幾天,範圍1(表示星期一)到7(表示星期日)。

php怎麼將字串轉為時間格式 php怎麼將字串轉為時間格式 Mar 27, 2023 pm 04:16 PM

PHP是一種流行的程式語言,廣泛應用於Web開發。在PHP中,字串和日期之間的轉換是一個非常常見的操作。在這篇文章中,我們將討論如何把PHP字串轉成時間格式。

php怎麼增加一天時間戳 php怎麼增加一天時間戳 Nov 17, 2022 pm 08:02 PM

兩種增加方法:1、直接利用strtotime()函數計算時間間隔,可將間隔後的日期以UNIX時間戳的格式傳回,語法「strtotime("+1 day")」;2、利用time()函數計算當前時間戳,並在當前時間戳記的基礎上加上一天的秒數即可,語法「time()+(1 * 24 * 3600)」。

php中的時間戳記怎麼轉換成時間 php中的時間戳記怎麼轉換成時間 Jan 07, 2023 pm 03:17 PM

在php中,可以使用date()函數來將時間戳轉換為日期時間,該函數可以將時間戳格式化為可讀性更好的日期和時間;語法格式“date(format,時間戳)”,參數format用來指定格式化字符,設定要轉換成的日期格式,例如“Y-m-d H:i:s”,就是將時間戳轉為“年-月-日時:分:秒”格式。

php怎麼把秒轉為時分秒 php怎麼把秒轉為時分秒 Jun 13, 2022 pm 05:42 PM

在php中,可以使用date()函數來將秒數轉換為時分秒的格式,語法「date("H:i:s",時間戳)」。時間戳記是自Unix紀元起到當前時間的秒數,而date()函數可以格式化時間戳,透過第一個參數設定的格式符號將時間戳轉為指定格式的日期字串。格式符「H」表示24小時制,也可用「h」符,它表示12小時制;格式符「i」表示帶有前導零的分鐘值,格式符「s」表示帶前導零秒鐘值。

See all articles
Hhour#00 到23
##iminute 分鐘數#00 到59
##ssecond 秒數00 到59
月份數
天數
年份數,可以是兩位或四位數字 對應於2000-2069 ,70-100 對應1970-2000