PHP获取当前时间、年份、月份、日期和天数
获取当前时间,需要用到 PHP Date() 函数 。
PHP Date()
把时间戳格式化为更易读的日期和时间。
语法:
date(format,timestamp)
其中参数
format
为显示格式,参数
timestamp
为时间戳,是可选择的,默认为
time()
,即如果没有给出时间戳则使用本地当前时间。
format
格式参数在这里简单介绍几个:
一些常用于日期的字符:
Y - 完整表示 年 份(四位数字:2019)
y - 表示 年 份(两位数字:19)
F - 表示 月 份(完整的文本格式: January 或者 March)
M - 表示 月 份(3个字母:Jun)
m - 表示 月 份,有前导0(数字:04)
n - 表示 月 份,无前导0(数字:4)
d - 表示月份中的第几 天 ,有前导0(01-31)
j - 表示月份中的第几 天 ,无前导0(1-31)
D - 表示 星期几 (3字母:Wed)
l - 表示 星期几 (完整英文:Wednesday)
w - 表示 星期 中的第 几 天(数字,0表示星期天)
W - 表示一 年 中的 第几周
z - 表示一 年 中的 第几天 (0-366)
实例:
<?php
echo "<p>今天是:" . date("Y/m/d") . "</p>";
echo "<p>今天是:" . date("Y.m.d") . "</p>";
echo "<p>今天是:" . date("Y-m-d") . "</p>";
echo "<p>今天是:" . date("l") . "</p>";
?>
运行结果:
如果想要 中文 的 年月日 ,可以这样写:
echo "现在时间是:" . date("Y年m月d日");
运行结果:
今天是:2019年04月24日
获得简单的时间:
常用于时间的字符:
H - 24小时格式,有前导0(08,18)
h - 12小时格式,有前导0(06,11)
G - 24小时格式,无前导0(9,17)
g - 12小时格式,无前导0(6,12)
i - 表示分钟,有前导0(00-59)
s - 表示秒,有前导0(00 -59)
A - 大写的午前和午后(AM 或 PM)
a - 小写的午前和午后(am 或 pm)
I - 判断是否为夏令时
实例:
<?php
echo "现在时间是:" . date("h:i:sa");
?>
运行结果:
获得时区:
如果需要基于具体位置的准确时间,可以设置要用的时区。
下面是把时区设置为 "Asia/Shanghai",然后以指定格式输出当前时间:
实例:
<?php
date_default_timezone_set("Asia/Shanghai");
echo "当前时间是:" . date("h:i:sa");
?>
getdate:获取日期信息
通过
getdate()
函数可以获取日期信息,而该函数返回值为一个数组,其中包括指定的日期和时间信息。如果没有给出时间戳,则输出的是本地当前的日期和时间。 声明如下:
array getdate(int timestamp);
<?php
print_r(getdate());
?>
checkdate:检验日期的有效性
程序开发过程中,在需要设计填写日期和时间的模块中,有时会因为录入失误,而产生错误。为了避免些类问题的出现,在设计时就要对日期进行检验,就是利用
checkdate
函数。声明如下:
bool checkdata(int month,int day,int year);
如果检验有效,返回
true
,否则返回
false
。
month
的有效值在1-12,
day
在给定的月之内,包括闰年,
year
的值在 1-32767 之间。
<?php
echo checkdate(6, 25, 2017);//1
?>
time:获取当前时间戳
获取当前时间戳通过
time()
函数来实现。声明如下:
int time();
echo time();//获取当前时间的时间戳
?>
通过 PHP mktime() 创建日期
date()
函数中可选的时间戳参数规定时间戳。
mktime()
函数返回日期的 Unix 时间戳。Unix 时间戳包含 Unix 纪元(1970 年 1 月 1 日 00:00:00 GMT)与指定时间之间的秒数。
语法:
mktime(hour,minute,second,month,day,year)
使用
mktime()
函数中的一系列参数来创建日期和时间:
实例:
<?php
$d=mktime(9, 12, 31, 6, 10, 2015);
echo "创建日期是:" . date("Y-m-d h:i:sa", $d);
?>
运行结果:
创建日期是:2015-06-10 09:12:31AM
通过 PHP strtotime() 用字符串来创建日期
PHP strtotime()
函数用于把人类可读的字符串转换为 Unix 时间。
语法:
strtotime(time,now)
通过
strtotime()
函数创建日期和时间:
实例:
<?php
$d=strtotime("10:38pm April 15 2015");
echo "创建日期是 " . date("Y-m-d h:i:sa", $d);
?>
PHP 在将字符串转换为日期这方面非常聪明,所以您能够使用各种值:
实例:
<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>
运行结果:
2019-04-25 12:00:00am 2019-04-27 12:00:00am 2019-07-24 05:53:08pm
不过,
strtotime()
并不完美,所以请记得检查放入其中的字符串。
更多日期实例
输出下周六的日期:
实例:
<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks",$startdate);
while ($startdate < $enddate) {
echo date("M d", $startdate),"<br>";
$startdate = strtotime("+1 week", $startdate);