旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

php之日期时候操纵一箩筐【php教程】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP教程浏览:93


导读:花样化日期时候date:花样化日期时候场景将当前日期时候或许特定日期时候花样化输出为特定花样的字符串,经常使用于人性化展现信息....

花样化日期时候

date : 花样化日期时候

  • 场景

将当前日期时候或许特定日期时候花样化输出为特定花样的字符串,经常使用于人性化展现信息.

  • 申明

返回给定时候戳花样化后所发生的日期时候字符串,假如没有给出时候戳则默许运用当地当前时候.

  • 备注

花样 申明 返回值示例
Y 4 位数字完全示意的年份 2019
y 2 位数字示意的年份 19
M 三个字母缩写示意的月份 Jan 到 Dec
m 数字示意的月份,有前导零 01 到 12
D 礼拜中的第几天,文本示意,3个字母 Mon 到 Sun
d 月份中的第几天,有前导零的 2 位数字 01 到 31
H 小时,24 小时花样,有前导零 00 到 23
h 小时,12 小时花样,有前导零 01 到 12
I 是不是为夏令时 假如是夏令时为1 ,否则为 0
i 有前导零的分钟数 00 到 59
S 每个月天数背面的英文后缀,2 个字符 st,nd,rd 或许 th ,能够和 j 一升引
s 秒数,有前导零 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 '0':
        $dayStr = "日";        
        break;    
    case '1':
    $dayStr = "一";        
    break;    
  case '2':
    $dayStr = "二";        
    break;    
  case '3':
    $dayStr = "三";      
    break;   
  case '4':
    $dayStr = "四";        
    break;    
  case '5':
    $dayStr = "五";        
    break;    
  case '6':
    $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 时候戳.

  • 备注

花样 申明 参数示例
H hour 小时数 00 到 23
i minute 分钟数 00 到 59
s second 秒数 00 到 59
n month 月份数 01 到 12
j day 天数 01 到 31
Y year 年份数,能够是两位或四位数字 0-69 对应于 2000-2069 ,70-100 对应于 1970-2000

花样: 时分秒 月日年,支撑从右往左顺次省略,被省略的值取当前时候的对应值.

  • 示例

<?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之日期时候操纵一箩筐的细致内容,更多请关注ki4网别的相干文章!

标签:php日期时间