php 今天日期-PHP学习笔记的一堆日期和时间操作

php-datetime-overview-doc.png 低格式日期和时间

日期:格式日期和时间

将当前日期和时间或特定日期和时间以特定格式输出为字符串,常用于人性化的信息展示。

返回由给定时间戳的低格式形成的日期和时间字符串。 如果不指定时间戳,则默认使用本地当前时间。

// 形如 2019-05-31 12:00:00
echo date("Y-m-d H:i:s");

// 形如 2019/05/31 12:00:00
echo date("Y/m/d H:i:s");

// 形如 2019年05月31日 12时00分00秒
echo date("Y年m月d日 H时i分s秒");

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

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

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

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

// `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."
"
;

echo "";

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

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

// `t` 指定的月份有几天 : 本月共有31天
echo "本月共有".date("t")."天
"
;

日期转换时间戳

time : 返回当前 Unix 时间戳

获取当前日期和时间或特定日期和时间的时间戳,常用于日期和时间之间的转换。

返回自 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)到当前时间的秒数。

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

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

// 一周前的日期时间: 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)."
"
;

// 一周后的日期时间: 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)."
"
;

microtime :返回当前 Unix 时间戳和微秒

获取当前日期和时间或者特定日期和时间的时间戳常用于程序运行过程中的分析,也可用于日期和时间之间的转换。

当前 Unix 时间戳和微秒。 此函数仅在支持“gettimeofday()”系统调用的操作系统下可用。

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

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

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

mktime:获取日期的 Unix 时间戳

获取给定日期的时间戳,按照“时、分、秒、月、日、年”格式依次解析php 今天日期,并返回时间戳。

根据给定参数返回 Unix 时间戳。

格式:时、分、秒、月、日、年。 支持从右到左省略。 省略的值取当前时间对应的值。

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

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

// 指定日期时间戳: 时分秒 月日年 : 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))."
"
;

// 距离国庆节还有多少天,单位秒 : 今天是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."天
"
;

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

将中文日期解析成时间戳比直接解析日期更方便。 它使用自然语义而不是编程语言来转换日期。

该函数需要一个包含英国日期格式的字符串,并尝试将其解析为 Unix 时间戳(自 1970 年 1 月 1 日 00:00:00 GMT 以来的秒数,相对于 now 参数给出的时间php 今天日期,如果如果此参数为未提供,则使用当前系统时间。

// 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"));

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

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

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

// 一周后的日期时间: 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"))."
"
;

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"))."
"
;

echo "现在是".date("Y-m-d H:i:s").",下周三是".date("Y-m-d H:i:s",strtotime("next Thursday"))."
"
;

日期和时间信件摘要

日期和时间函数库是PHP中的内置函数库,默认启用。 值得注意的是,日期和时间与时区有关。 建议先设置时区。

纵观日期和时间的操作方式,一般来说,大致可以分为两类,一类是给计算机看的,一类是给人看的。

用于电脑

终于,文档这么齐全了。 如果您不明白某些内容,请阅读更多内容。 如果您忘记了某个方法,只需依靠 IDE 的智能提示即可。 你会逐渐变得更加熟练地使用它。