首页 > 后端开发 > php教程 > 一篇很全的phpcms和php格式化时间戳教程

一篇很全的phpcms和php格式化时间戳教程

小云云
发布: 2023-03-17 10:40:01
原创
1555 人浏览过

不管建造一个什么样的网站,时间都是必须要写的,那么关于PHP时间戳程序员们掌握多少呢?现在我就和大家分享一篇关于phpcms和php格式化时间戳的文章。

用PHPCMS V9 建站时,经常会用到时间标签,它是通用标签调用-日期时间格式化,适用全站。

一、日期时间格式化显示:

a\标准型:{date('Y-m-d H:i:s', $rs['inputtime'])} 输出为:2013-01-31 13:15:10

b\拆分型:{date('Y',$rs[inputtime])}年{date('m',$rs[inputtime])}月{date('d',$rs[inputtime])}日 输出为:2013年01月31日

c\扩展型:

{date('Y',$inputtime);} 4位年份 输出为:2013 或 2014

{date('y',$inputtime);} 2位年份 输出为:10 或 11

{date('F',$inputtime);} 英文月份全称 输出为:January 到 December

{date('M',$inputtime); } 英文月份缩写 输出为:Jan 到 Dec

{date('m',$inputtime);} 前导零数字月份 输出为:01 到 12

{date('n',$inputtime); } 数字月份 输出为:1 到 12

{date('d',$inputtime);} 前导零日期 输出为:01 到 31

{date('j',$inputtime);} 日期 输出为:1 到 31

{date('l',$inputtime);} 英文星期全称 输出为:Sunday 到 Saturday

{date('D',$inputtime);} 英文星期缩写 输出为:Mon 到 Sun

{date('N',$inputtime);} 格式数字星期 输出为:1 到 7

{date('Y-m-d H:i:s',$rs[inputtime]+30*60)} 在获取文章时间后加一段时间

二、PHP时间戳函数获取指定日期的unix时间戳 

<?php
echo strtotime("2017-6-27");
?>
登录后复制

结果:1498514400

返回2017年6月27日0点0分0秒时间戳

1、PHP时间戳函数获取英文文本日期时间 示例如下:

便于比较,使用date将当时间戳与指定时间戳转换成系统时间

(1)打印明天此时的时间戳strtotime(”+1 day”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2017-6-27 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 day”)) 结果:2017-6-27 09:40:25

(2)打印昨天此时的时间戳strtotime(”-1 day”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2017-6-27 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”-1 day”)) 结果:2017-6-27 09:40:25

(3)打印下个星期此时的时间戳strtotime(”+1 week”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2017-6-27 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 week”)) 结果:2017-6-27 09:40:25

(4)打印上个星期此时的时间戳strtotime(”-1 week”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2017-6-27 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”-1 week”)) 结果:2017-6-27 09:40:25

(5)打印指定下星期几的时间戳strtotime(”next Thursday”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2017-6-27 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”next Thursday”)) 结果:2017-6-27 00:00:00

(6)打印指定上星期几的时间戳strtotime(”last Thursday”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”last Thursday”)) 结果:2017-6-27 00:00:00
以上PHP时间戳函数示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间。
示例:

<?php
//时间戳转日期
$date_time_array = getdate(1297845628); //1311177600  1316865566
$hours = $date_time_array["hours"];
$minutes = $date_time_array["minutes"];
$seconds = $date_time_array["seconds"];
$month = $date_time_array["mon"];
$day = $date_time_array["mday"];
$year = $date_time_array["year"];
 echo "year:$year\nmonth:$month\nday:$day\nhour:$hours\nminutes:$minutes\nseconds:$seconds\n";
 //正常日期转时间戳
echo mktime(0, 0, 0, 9, 18, 2011) . "\n";
echo mktime(0, 0, 0, 9, 25, 2011) . "\n";
 //可以对此进行格式化
echo "time()显示年月日时分秒:" . date("Y-m-d H:i:s", time()) . "\n";
//这样连时,分秒一起显示
echo "time()只显示年月日:" . date("Y-m-d ", time()) . "\n"; //只年示年月日
 echo "时间戳格式化:" . date("Y-m-d H:i:s", 1297845628) . "\n"; //直接使用时间戳
//把正常日期转成时间戳了,这里如果有时分秒也是同理,
$year=((int)substr("2008-12-04",0,4));//取得年份
$month=((int)substr("2008-12-04",5,2));//取得月份
$day=((int)substr("2008-12-04",8,2));//取得几号
echo mktime(0,0,0,$month,$day,$year);
 ?>
登录后复制

需要注意的部分
<一>、PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4)

<二>、php5.1以上时间戳会与实际时间相差8小时,解决办法如下

1、最简单的方法就是不要用php5.1以上的版本--显然这是不可取的方法!!!

2、修改php.ini。打开php.ini查找date.timezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序
放到别人的服务器上,不能修改php.ini,那就奈何不得了。

3、在程序中添加时间的初始化的语句的 即:“date_default_timezone_set("Asia/Shanghai"); ”
时区标识符,大陆内地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore

文章已经结束了,关于phpcms和php格式化时间戳的知识点相信大家已经有所掌握了吧,希望能帮助到大家。

相关推荐:

如何在php中生成毫秒时间戳

php 时间戳(UNIX)用法详解

php格式化时间戳显示友好的时间实现思路及代码_php技巧

以上是一篇很全的phpcms和php格式化时间戳教程的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板