PHP时间相关常用函数用法示例

klarclm 2020-06-13

本文实例讲述了PHP时间相关常用函数用法。分享给大家供大家参考,具体如下:

<?php
/**
 * 设置时区
 */
date_default_timezone_set("Asia/Shanghai");
 
/**
 * 获取时区
 */
echo date_default_timezone_get();
//结果 UTC
echo "<br/>";
 
/**
 * 添加时间
 */
$date=date_create("2013-03-15"); //创建一个DateTime 对象
date_add($date,date_interval_create_from_date_string("40 month"));//years days
//date_interval_create_from_date_string 从字符串的相关部分建立一个DateInterval。
echo date_format($date,"Y-m-d");
//结果2016-07-15
echo "<br/>";
 
/**
 * 减去时间
 */
$date=date_create("2013-03-15");
date_sub($date,date_interval_create_from_date_string("40 days"));
echo date_format($date,"Y-m-d");
//2013-02-03
echo "<br/>";
 
/**
 * 获取两个时区的差值
 */
$date1=date_create("2013-03-15");
$date2=date_create("2013-12-12");
$diff=date_diff($date1,$date2);//返回的是一个DateInterval对象
echo "<pre>";
var_dump($diff);
// object(DateInterval)#4 (15) {
//  ["y"]=>
//  int(0)
//  ["m"]=>
//  int(8)
//  ["d"]=>
//  int(27)
//  ["h"]=>
//  int(0)
//  ["i"]=>
//  int(0)
//  ["s"]=>
//  int(0)
//  ["weekday"]=>
//  int(0)
//  ["weekday_behavior"]=>
//  int(0)
//  ["first_last_day_of"]=>
//  int(0)
//  ["invert"]=>
//  int(0)
//  ["days"]=>
//  int(272)
//  ["special_type"]=>
//  int(0)
//  ["special_amount"]=>
//  int(0)
//  ["have_weekday_relative"]=>
//  int(0)
//  ["have_special_relative"]=>
//  int(0)
// }
echo "<br/>";
 
/**
 * 获取当前时间戳
 */
$date=date_create();
echo date_timestamp_get($date) .'<br/>';
 
$time = time();
echo $time .'<br>';
 
echo strtotime("now") .'<br/>';
 
/*
 *获取今天0点时间戳
 */
 
echo strtotime("today").'<br>';
/**
 * 获取带微秒的时间
 */
echo microtime(true);
 
/*
 *获取指定时间戳 
 * mktime(hour,minute,second,month,day,year);
 */
echo "<br/>";
echo mktime(18,30,15,3,15,2019);
 
/*
 *获取前一天0点时间戳
 */
echo "<br/>";
echo strtotime('yesterday');
 
/*
 *获取昨天此时的时间戳
 */
echo "<br/>";
 
echo strtotime('-1 days');
 
?>

运行结果:

Asia/Shanghai
2016-07-15
2013-02-03

object(DateInterval)#4 (15) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(8)
  ["d"]=>
  int(27)
  ["h"]=>
  int(0)
  ["i"]=>
  int(0)
  ["s"]=>
  int(0)
  ["weekday"]=>
  int(0)
  ["weekday_behavior"]=>
  int(0)
  ["first_last_day_of"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  int(272)
  ["special_type"]=>
  int(0)
  ["special_amount"]=>
  int(0)
  ["have_weekday_relative"]=>
  int(0)
  ["have_special_relative"]=>
  int(0)
}
1591150859
1591150859
1591150859
1591113600
1591150859.0074
1552645815
1591027200
1591064459

PS:这里再为大家推荐几款时间及日期相关工具供大家参考:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

相关推荐