php格式化日期时间时一般使用date()函数来完成,这个函数有两个参数,分别是format和timestamp,这里按常用的年、月、日、时、分、秒、星期等来简单介绍。
date(format,timestamp)
参数 | 描述 |
---|
format | 必需。规定输出日期字符串的格式。可使用下列字符: d - 一个月中的第几天(从 01 到 31) D - 星期几的文本表示(用三个字母表示) j - 一个月中的第几天,不带前导零(1 到 31) l('L' 的小写形式)- 星期几的完整的文本表示 N - 星期几的 ISO-8601 数字格式表示(1表示Monday[星期一],7表示Sunday[星期日]) S - 一个月中的第几天的英语序数后缀(2 个字符:st、nd、rd 或 th。与 j 搭配使用) w - 星期几的数字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六]) z - 一年中的第几天(从 0 到 365) W - 用 ISO-8601 数字格式表示一年中的星期数字(每周从 Monday[星期一]开始) F - 月份的完整的文本表示(January[一月份] 到 December[十二月份]) m - 月份的数字表示(从 01 到 12) M - 月份的短文本表示(用三个字母表示) n - 月份的数字表示,不带前导零(1 到 12) t - 给定月份中包含的天数 L - 是否是闰年(如果是闰年则为 1,否则为 0) o - ISO-8601 标准下的年份数字 Y - 年份的四位数表示 y - 年份的两位数表示 a - 小写形式表示:am 或 pm A - 大写形式表示:AM 或 PM B - Swatch Internet Time(000 到 999) g - 12 小时制,不带前导零(1 到 12) G - 24 小时制,不带前导零(0 到 23) h - 12 小时制,带前导零(01 到 12) H - 24 小时制,带前导零(00 到 23) i - 分,带前导零(00 到 59) s - 秒,带前导零(00 到 59) u - 微秒(PHP 5.2.2 中新增的) e - 时区标识符(例如:UTC、GMT、Atlantic/Azores) I(i 的大写形式)- 日期是否是在夏令时(如果是夏令时则为 1,否则为 0) O - 格林威治时间(GMT)的差值,单位是小时(实例:+0100) P - 格林威治时间(GMT)的差值,单位是 hours:minutes(PHP 5.1.3 中新增的) T - 时区的简写(实例:EST、MDT) Z - 以秒为单位的时区偏移量。UTC 以西时区的偏移量为负数(-43200 到 50400) c - ISO-8601 标准的日期(例如 2023-05-05T16:34:42+00:00) r - RFC 2822 格式的日期(例如 Fri, 12 Apr 2023 12:01:05 +0200) U - 自 Unix 纪元(January 1 1970 00:00:00 GMT)以来经过的秒数
同时,也可使用下列预定义常量(从 PHP 5.1.0 开始可用): DATE_ATOM - Atom(例如:2023-04-12T15:52:01+00:00) DATE_COOKIE - HTTP Cookies(例如:Friday, 12-Apr-13 15:52:01 UTC) DATE_ISO8601 - ISO-8601(例如:2023-04-12T15:52:01+0000) DATE_RFC822 - RFC 822(例如:Fri, 12 Apr 13 15:52:01 +0000) DATE_RFC850 - RFC 850(例如:Friday, 12-Apr-13 15:52:01 UTC) DATE_RFC1036 - RFC 1036(例如:Fri, 12 Apr 13 15:52:01 +0000) DATE_RFC1123 - RFC 1123(例如:Fri, 12 Apr 2023 15:52:01 +0000) DATE_RFC2822 - RFC 2822(Fri, 12 Apr 2023 15:52:01 +0000) DATE_RFC3339 - 与 DATE_ATOM 相同(从 PHP 5.1.3 开始) DATE_RSS - RSS(Fri, 12 Aug 2023 15:52:01 +0000) DATE_W3C - 万维网联盟(例如:2023-04-12T15:52:01+00:00)
|
timestamp | 可选。规定整数的 Unix 时间戳。默认是当前的本地时间(time())。 |
PHP如何格式化时间
如果是想直接获取当前日期或时间,可以直接用date函数,上面的表格里列出了详细的格式规则,可以自己随意组合。
例如:
$riqi = date("Y-m-d");
echo $riqi . "<br>";
$riqiheshijian = date("Y-m-d H:i:s");
echo $riqiheshijian;
从数据库里面读出来的时间一般是字符串格式,首先要用strtotime函数来转换为时间戳后才能格式化。
例如:
$riqi = date("Y-m-d", strtotime($shujukulideshijian));
echo $riqi;
标准时间与时间戳转换
//获得服务端系统时间
date_default_timezone_set(PRC);
$nowtime=date("Y-m-d G:i:s");
//标准时间转为时间戳
$dateline=strtotime($nowtime);
//时间戳转为标准时间
$nowtime=date('H:i:s',$dateline);
日期增加固定天数
//标准时间转为时间戳
$dateline=strtotime($nowtime);
//设定规定时间
$days=3600*24*20; //20天
$new_dateline=$dateline+$days;
//增加固定天数后的新时间戳转为标准时间
$new_nowtime=date('Y-m-d G:i:s',$new_dateline);
规范化星期表达
//获得服务端系统时间
$today="";
date_default_timezone_set(PRC); //设置时区
$Ymd_time=date("Y年m月d日 H:i:s ");
$workday=date("w");
$workday_arr=array("日","一","二","三","四","五","六"); //规范化星期表达
$today=$Ymd_time."星期".$workday_arr[$workday];
echo $today;
//输出如:2023年4月22日 10:20:23 星期日
后续例子不断补充……
有问题可在下方评论留言,或关注“大超小志”微信公众号留言。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
留言评论
如需留言或评论,请在微信中打开此页面。