php中Date函数和时间戳函数及它们之间格式转换教程(附实例)-php教程

资源魔 22 0

php中Date函数以及工夫戳函数及它们之间格局转换教程(附实例)

正在PHP网站开发建立中常常需求对日期、工夫进行解决,PHP提供了多种日期、工夫函数不便PHP开发者对日期、工夫进行较量争论、格局转换。

把握PHP日期函数十分须要,也为解决PHP日期函数与Mysql数据库日期之间的格局转换打下根底。

作为PHP日期函数的开篇教程,我以PHP实例教程引见PHP根底日期函数date以及Unix工夫戳函数和互相间日期格局的转换办法。

一、PHP日期时区设定

正在启用PHP日期函数以前,起首需求确保设定的时区是正确的,不然显示出的日期可能会有收支。正在PHP环境搭建时只要要正在PHP.INI设置装备摆设文件中设定date.timezone为相应的时区便可。

假如你不操作PHP.INI设置装备摆设文件的权益,可经过PHP时区函数date_default_timezone_get(void)猎取以后PHP运转环境的时区。

再应用date_default_timezone_set(string $timezone_identifier)函数设定相应的时区。

更多PHP支持的时区可查问http://www.php.net/manual/en/timezones.php。

二、PHP格局化日期函数Date

原型 string date(string $format[,int $timestamp])

$format - PHP日期函数date的格局代码

$timestamp - Unix工夫戳,默许为以后工夫戳(可选)

三、格局化字符 ———- 阐明 ——— 前往值形容以下:

日(Day)

  d —— 月份中的第几天,前往2位数字 —— 01 到 31

  j —— 月份中的第几天,1至9没有带零 ——1 到 31

  S —— 每个月天数的英文后缀 —— 2个字符st,nd,rd或许th。能够以及j一同用

  z —— 年份中的第几天 —— 0 到 366

礼拜(Week)

  l —— 礼拜几 —— Sunday 到 Saturday

  D —— 英文礼拜几,文本示意 —— 3个字母 Mon 到 Sun

  N —— 以数字示意礼拜几(PHP 5.1.0 新加)—— 1(示意礼拜一)到 7(示意礼拜天)

  w —— 礼拜中的第几天 —— 0(示意礼拜天)到 6(示意礼拜六)

  W —— ISO-8601 格局年份中的第几周,每一周从礼拜一开端(PHP 4.1.0 新加的)—— 42(昔时的第 42 周)

月(Month)

  F —— 月份 —— January 或许 March January 到 December

  m —— 数字示意的月份 —— 01 到 12

  M —— 三个字母缩写示意的月份 —— Jan 到 Dec

  n —— 数字示意的月份 —— 1 到 12

  t —– 月份天数 —— 28 到 31

年(Year)

  L ——平年,以布尔值示意 —— 假如是平年为 1,不然为 0

  o —— ISO-8601 格局年份数字。相似于 Y ,除了非 ISO 的礼拜数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加)—— 1999 or 2003

  Y —— 四位数字完好示意的年份 —— 1999 或 2003

  y —— 两位数字示意的年份 —— 99 或 03

工夫(Time)

  a —— 上午以及下战书 —— am 或 pm

  A —— 上午以及下战书 —— AM 或 PM

  B —— Swatch Internet工夫 —— 000 到 999

  g —— 小时,12 小时格局 —— 不前导零 1 到 12

  G —— 小时,24 小时格局 —— 不前导零 0 到 23

  h —— 小时,12 小时格局 —— 有前导零 01 到 12

  H —— 小时,24 小时格局 —— 有前导零 00 到 23

  i —— 分钟 —— 00 到 59

  s —— 秒 —— 00 到 59

时区(Timezone)

  e —— 时区标识(PHP 5.1.0 新加)—— UTC,GMT,Atlantic/Azores

  I —— 能否为夏令时 —— 夏令时为 1,不然为 0

  T —– 时区缩写 —— 例如:EST,MDT

  Z —— 与以后时区的时区差,单元为秒 —— -43200 到 43200

完好的日期/工夫(Full Date/Time)

  c —— ISO 8601 格局的日期(PHP 5 新加) —— 2004-02-12T15:19:21+00:00

  r —— RFC 822 格局的日期 —— Thu, 21 Dec 2000 16:01:07 +0200

  U —— 从1970 1.1到某时辰总的形容,即Unix工夫戳,参见 time()

  PHP日期函数date格局化字符的英文文档请参考http://www.php.net/manual/en/function.date.php

date函数应用提醒:正在应用PHP日期函数date输入格局化的日期格局时,你能够经过起首写出你需求输入的日期格局后,再应用date日期函数中的格局化字符进行组合,应用起来会很患上心应手。

四、应用PHP日期函数date对Unix工夫戳进行格局转换

PHP date日期函数第二个可选参数$timestamp是以Unix工夫戳的方式存正在,经过这个参数能够将Unix工夫戳转换成相应的日期格局。应用Unix工夫戳正在参数通报,日期较量争论等方面益处不少,不便简约。

PHP中将日期转换成Unix工夫戳的罕用函数次要有mktime、time、strtotime。PHP日期函数mktime次要用来将日期以及工夫转换成Unix工夫戳格局。

原型以下

int mktime ([int $hour = date("H")[,int $minute = date("i")[,int $second = date("s")[,int $month = date("n")[,int $day = date("j")[,int $year = date("Y")[,int $is_dst = -1 ]]]]]]])

mktime函数的一切参数都是可选的,此中$is_dst示意能否为夏令时,当mktime函数参数都为空时,将默许为以后工夫,相似于time函数。

PHP日期函数time次要用来猎取以后工夫,以Unix工夫戳格局存正在。PHP日期函数strtotime次要用来将英文形容的日期工夫转换为 Unix 工夫戳。

原型以下

int strtotime(string $time[,int $now])

$time参数次要是以英文文本形容的方式存正在。

$now可选参数次要示意为$time较量争论日期工夫的一个基准,默许为以后Unix工夫戳。

PHP date日期函数次要用来转换输入各类日期格局,假如想要猎取日期以及工夫的各个局部,能够经过通报Unix工夫戳参数给getdate函数猎取,getdate函数会前往一个相干数组,数组键值以下:

  seconds —- 秒数
  minutes —- 分钟
  hours —- 小时
  mday —- 月份中日期
  wday —- 礼拜几,0(示意礼拜天)到 6(示意礼拜六)
  mon —- 月份
  year —- 四位数字示意的完好年份
  yday —- 一年中第几天
  weekday —- 礼拜的文本示意,Sunday 到 Saturday
  month —- 月份文本示意,January 到 December
  0 —- 从Unix纪元开端至今的秒数,以及time()的前往值相似。

经过上述几个PHP Unix工夫戳函数,再合营PHP date日期函数能够进行各类日期格局转换、较量争论以及输入。

五、PHP日期较量争论实例

较量争论春秋

<?php
    $day = 1;
    $month = 1;
    $year = 1989;
   
    $birthday = mktime(0,0,0,$month,$day,$year);
   
    $nowunix = time();
   
    $age = $nowunix - $birthday;
   
    $age = floor($age / (365*24*60*60));
   
    echo $age;
?>

日期加减

<?php
    $nowUnix = time();
   
    $addTime = $nowUnix + (24*60*60); //日期加一天
   
    $redTime = $nowUnix - (24*60*60);//日期减一天
   
    echo date("Y-m-j",$addTime);
    echo date("Y-m-j",$redTime);
?>

六、strtotime日期较量争论与格局转换实例

日期加减也能够经过strtotime函数实现

<?php
    $nowTime = strtotime("now");
    echo date("Y-m-j",$nowTime)."<br/>";
   
    $nowTime = strtotime("10 September 2010");
    echo date("Y-m-j",$nowTime)."<br/>";
   
    $nowTime = strtotime("+1 day");
    echo date("Y-m-j",$nowTime)."<br/>";
   
    $nowTime = strtotime("+1 week");
    echo date("Y-m-j",$nowTime)."<br/>";
   
    $nowTime = strtotime("+1 week 2 days 4 hours 2 seconds");
    echo date("Y-m-j",$nowTime)."<br/>";
   
    $nowTime = strtotime("next Thursday");
    echo date("Y-m-j",$nowTime)."<br/>";
   
    $nowTime = strtotime("last Monday");
    echo date("Y-m-j",$nowTime)."<br/>";
?>

至此,PHP日期函数date格局化字符含意和局部PHP Unix工夫戳函数的引见和互相间的转换以及格局化输入实例就引见完了,这对把握PHP日期、工夫函数的较量争论、与转换长短常须要的。心愿对PHP入门学习的冤家有所协助。

保举教程:《PHP视频教程》

以上就是php中Date函数以及工夫戳函数及它们之间格局转换教程(附实例)的具体内容,更多请存眷资源魔其它相干文章!

标签: php开发教程 php开发资料 php开发自学 Date函数 Unix时间戳函数

抱歉,评论功能暂时关闭!