PHP 日期时间处理
发布于 2021-05-12 23:23 ,所属分类:区块连和PHP开发学习资料
date_default_timezone_set(‘Asia/Shanghai’); //设置时区
PHP时间参数:
|
PHP中对日期进行处理常用的几个函数如下:
date(): 把时间戳格式化为更易读的日期和时间
time(): 获取当前 Unix 时间戳
strtotime(): 将表示时间和日期的字符串转化为相应的时间戳
mktime(): 创建日期
这些函数是PHP核心的部分,无需安装即可使用。另外需要注意的是,这些函数的行为还受到 php.ini 中配置的时区等的影响。
date() 函数
格式:date(‘时间格式’[,’时间戳’]);
<?php
// 假定今天是:March 10th, 2001, 5:16:18 pm
$today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (MySQL DATETIME 格式)
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day z '); // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // It is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:17 m is month
$today = date("H:i:s"); // 17:16:17
date('Y'); // 当前年份
date('m'); // 当前月份
date('d'); // 当前是几号
strtotime() 函数
语法:int strtotime ( string $time [, int $now = time() ] )
<?php
echo strtotime("now"), "\n"; // 现在时间戳
echo strtotime("10 September 2000"), "\n"; // 2000年10月现在时间戳
echo strtotime("+1 day"), "\n"; // 距离现在一天后的时间戳
echo strtotime("-3 day"), "\n"; // 距离现在三天前的时间戳
echo strtotime("+1 week"), "\n"; // 距离现在一周后的时间戳
echo strtotime("-1 month"), "\n";// 距离现在一个月前的时间戳
echo strtotime("+1 year"), "\n"; // 距离现在一年后的时间戳
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n"; // 距离现在1周2天4小时2秒后的时间戳
echo strtotime("next Thursday"), "\n"; // 下个星期三
echo strtotime("last Monday"), "\n"; // 本月的最后一个星期一
mktime() 函数
语法:mktime(hour,minute,second,month,day,year,is_dst);
<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
?>
时间戳和时间字符串:
$time = time(); // 当前时间戳
var_dump($time); // int(1516155874)
$time_str = date('Y-m-d H:i:s', $time); // 将时间戳转化为相应的时间字符串
var_dump($time_str); // string(19) "2018-01-17 02:24:34"
$time_int = strtotime($time_str); // 将时间字符串转化为时间戳
var_dump($time_int); // int(1516155874)
常用时间获取:
获取前一天的时间戳:strtotime('-1 day') 或者 time() - 3600 * 24
获取今天凌晨0点的时间戳:strtotime(date("Y-m-d"), time())
获取今天某个时刻如6点半的时间戳:strtotime(data('Y-m-d')) + 6 * 3600 + 30 * 60
<?php
echo "今天:".date("Y-m-d")."<br>";
echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>";
echo "明天:".date("Y-m-d",strtotime("+1 day")). "<br>";
echo "一周后:".date("Y-m-d",strtotime("+1 week")). "<br>";
echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "<br>";
echo "下个星期四:".date("Y-m-d",strtotime("next Thursday")). "<br>";
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<br>";
echo "一个月前:".date("Y-m-d",strtotime("last month"))."<br>";
echo"一个月后:".date("Y-m-d",strtotime("+1month"))."<br>";
echo"十年后:".date("Y-m-d",strtotime("+10year"))."<br>";
?>
注:
相关资源