PHP中的日期和时间
2017-02-21 21:34
183 查看
UNIX时间戳
UNIX时间戳是大多数计算机中保存和表示日期和时间的一种标准格式。UNIX时间戳以为32位置的证书表示格林威治标准时间。它是从1970年1月1日开始,到当前时间所经过的秒数。因为UNIX是一个32位的整数,所以处理1902年以前或2038年后的日期会出现一些问题。而Windows系统的时间戳不能为负数,这点需要尤其注意。在 PHP中获取日期和时间时间
time()函数与mktime()函数获取UNIX时间戳使用 time()函数可以获取当前的UNIX时间戳
<?php $timeStamp=time(); ?>
如需要将指定的日期时间转变成UNIX时间戳,则可以使用mktime() 函数。
int mktime([int hour [, int minute [,int second [,int month [,int day [,int year]]]]])
该函数的所有参数都是可选的,如果为空,则默认将当前的日期时间,转变为时间戳。另外,这个函数可以自动校正越界的输入。
<php echo date("Y-m-d",mktiime(0,0,0,12,36,2008))//超过日期31天,计算后输出2009-01-05 ?>
日期的计算
在PHP中,计算两个日期之间相隔的长度最简单的方法就是计算两个UNIX时间戳之差来获取。<?php $year=1901; //接收用户提交的用户出生日期 $month=11; $day=05; $birthday=mktime(0,0,0,$month,$day,$year); $nowdate=time(); $ageUnix=$nowdate-$birthday; $age=floor($ageUnix/(60*60*24*365)) //将来Unix时间戳的差除以一年的秒数,得到用户的年龄 $echo "年龄: ".$age; ?>
日期和和时间的格式化输出
由于Unix时间戳的可读性比较差,所以,我们通常需要把它转变成可读性更好的时间格式来输出。在PHP中,可以通过调用date()函数来格式化一个本地时间和日期。string date(string format[,int timestamp])
date()函数的第一个参数是必须的,规定时间戳的转换格式。第二个是可选的,需要提供一个UNIX时间戳,默认值为time()。第一个参数,是由下表提供的特殊字符组成的格式化字符串。
format字符 | 说明 | 返回值例子 |
---|---|---|
日 | — | — |
d | 月份中的第几天,有前导零的 2 位数字 | 01 到 31 |
D | 星期中的第几天,文本表示,3 个字母 | Mon 到 Sun |
j | 月份中的第几天,没有前导零 | 1 到 31 |
l(“L”的小写字母) | 星期几,完整的文本格式 | Sunday 到 Saturday |
N | ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) | 1(表示星期一)到 7(表示星期天) |
S | 每月天数后面的英文后缀,2 个字符 | st,nd,rd 或者 th。可以和 j 一起用 |
w | 星期中的第几天,数字表示 | 0(表示星期天)到 6(表示星期六) |
z | 年份中的第几天 | 0 到 365 |
星期 | — | — |
W | ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) | 例如:42(当年的第 42 周) |
月 | — | — |
F | 月份,完整的文本格式,例如 January 或者 March | January 到 December |
m | 数字表示的月份,有前导零 | 01 到 12 |
M | 三个字母缩写表示的月份 | Jan 到 Dec |
n | 数字表示的月份,没有前导零 | 1 到 12 |
t | 给定月份所应有的天数 | 28 到 31 |
date()函数的应用实例:
<?php // 假定今天是:March 10th, 2001, 5:16:18 pm $today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // It is the 10th day. echo $today."</br>"; $today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2001 echo $today."</br>"; $today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:17 m is month echo $today."</br>"; $today = date("H:i:s"); // 17:16:17 echo $today."</br>"; $today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (MySQL DATETIME 格式) echo $today."</br>"; ?>
相关文章推荐
- php学习5-时间和日期
- PHP基础系列之日期时间
- php获取当前时间之后第N个自然月最后一天的日期
- 日期和时间在PHP中的应用介绍
- php中日期时间的用法
- PHP 时间和日期
- php笔记(6)——时间与日期
- php日期时间
- php计算两个日期时间差(返回年、月、日)
- PHP获取当前日期和时间格式化方法
- PHP实现指定时间内产生每日日期脚本
- php获取指定日期之间的各个周和月的起止时间
- js 将php生成的time()类型时间戳转化成具体date格式的日期
- PHP的日期和时间
- PHP拓展—时间日期
- PHP中比较两个时间的大小与日期的差值
- pgsql数据库和PHP中日期、时间戳处理函数
- PHP静态页面的日期时间获取
- PHP 时间戳 与 日期的相互转换(含mysql 中直接转换)
- PHP如何得到当前日期与时间(一)