在写程序时总是会遇到时间的输出问题,有这样格式、那样格式,在 PHP 中的 date() 函数可以将时间戳以一定的格式输出,今天就把 PHP 中时间的输出做个归纳:
日期和时间函数/**
* 设置默认时区
* 合法时区的列表:http://www.php.net/manual/en/timezones.php
*/
date_default_timezone_set ('Asia/Shanghai');
/**
* 按格式输出时间
*/
echo '格式化时间:
';
//获取当前时间戳
$time = time();
/**
* 年-月-日
*/
//四位数字的年份,两位数字的月份,日期带前导0
echo date('Y-m-d', $time).'
';
//四位数字的年份,两位数字的月份,日期不带前导0
echo date('Y-m-j', $time).'
';
//两位数字的年份,两位数字的月份,日期不带前导0
echo date('y-n-j', $time).'
';
//四位数字的年份,英文缩写的月份,日期不带前导0
echo date('Y-M-j', $time).'
';
//四位数字的年份,英文全写的月份,日期有后缀带前导0(后缀分“st”、“nd”、“rd”和“th”,具体看日期数字为何)
echo date('Y-F-jS', $time).'
';
/**
* 时:分:秒:未设置时区时,默认是“格林威治标准时间”,与我们本地的时间相差8个小时
*/
//时:12小时制,无前导0;分:两位数字;秒:两位数字;小写的“am”和“pm”
echo date('g:i:s a', $time).'
';
//时:12小时制,有前导0;分:两位数字;秒:两位数字;大写的“AM”和“PM”
echo date('h:i:s A', $time).'
';
//时:24小时制,有前导0;分:两位数字;秒:两位数字
echo date('H:i:s', $time).'
';
//时:24小时制,无前导0;分:两位数字;秒:两位数字
echo date('G:i:s', $time).'
';
/**
* PS:有效的时间戳典型范围是格林威治时间1901年12月13日20:45:54~2038年1月19日03:13:07(此范围符合32位有符号整数的最小值和最大值)
* 在Windows系统中此范围限制为从1970年1月1日~2038年1月19日
*/
?>
date() 函数除了可以将时间戳以一定格式输出外还可以进行一些日期的判断:
/**
* 时间的判断
*/
echo '时间判断:
';
//判断今年是否闰年,布尔值,为真返回1,否则为0
echo '今年是否是闰年?'; echo (date('L'))?'是':'否'; echo '
';
//当天是星期几的英文全写(Tuesday)
echo '今天星期:'.date('l').'
';
//星期几的英文缩写(Tue)
echo '今天星期:'.date('D').'
';
//星期几,数字形式表示
echo '今天星期:'.date('w').'
';
//一年中的星期数
echo '今年的第几个星期?'.date('W').'
';
//当前月份有多少天
echo '这个月有几天?'.date('t').'
';
//今天是本年中第几天
echo '今天是今年的第几天?'.date('z').'
';
//服务器的时间区域设置
echo '服务器的时间区域设置是?'.date('T').'
';
//判断当前是否为夏令时,为真返回1,否则为0
echo '今天是否为夏令时?'; echo (date('I'))?'是':'否'; echo '
';
//从1970年1月1日到现在的总秒数,就是Unix时间纪元的UNIX时间戳
echo '从1970年1月1日到现在的总秒数?'.date('U').'
';
//ISO8601日期,日期格式为YYYY-MM-DD,用字母T来间隔日期和时间,时间格式为HH:MM:SS,时区使用格林威治标准时间(GMT)的偏差来表示
echo 'ISO8601日期:'.date('c').'
';
//RFC822日期
echo 'RFC822日期:'.date('r').'
';
?>