php date与gmdate的获取日期的区别
date -- 格式化一个本地时间/日期
gmdate -- 格式化一个 GMT/UTC 日期/时间,返回的是格林威治标准时(GMT)。
举个例子,我们现在所在的时区是+8,那么服务器运行以下脚本返回的时间应该是这样的:
当前时间假定是2007-03-14 12:15:27
echo date('Y-m-d H:i:s', time()); 输出为:2007-03-14 12:15:27
echo gmdate('Y-m-d H:i:s', time()); 输出为:2007-03-14 04:15:27
但是这只是在Linux+Apache下运行PHP所得的结果,如果在Windows下运行,则2个函数返回都是:2007-03-14 04:15:27。
所以,我们应该给一个兼容性的写法,统一使用gmdate,并手工设置当前时区,写法改进如下:
echo gmdate('Y-m-d H:i:s', time() + 3600 * 8);
这样不管在Linux+Apache下还是Windows下都得到了正确的结果,当然这样写还有一个好处,当网站是面向全世界的时候,那么网站用户只要设置所在的时区,程序自动根据用户设置的时区进行时间计算,数据库中信息发布时间只存当前的time()所生成的时间,那么在中国+8时区看到的发布时间是:2007-03-14 12:15:27,那么在欧洲+2时区用户看到这个信息的发布时间是:2007-03-14 06:15:27,这样信息的时间就全部对应正确了。
相关推荐
-
用php获取本周,上周,本月,上月,本季度日期的代码
复制代码 代码如下: echo date("Ymd",strtotime("now")), "\n"; echo date("Ymd",strtotime("-1 week Monday")), "\n"; echo date("Ymd",strtotime("-1 week Sunday")), "\n"; echo date
-
php获取指定日期之间的各个周和月的起止时间
根据指定的前后两个日期,计算这两个日期之间各个周的起始时间和结束时间,以及各个月的起始时间和结束时间 日志格式化类 Date.class.php 复制代码 代码如下: <?php class Datefmt{ function __construct() {} /** * 根据指定日期获取所在周的起始时间和结束时间 */ public function get_weekinfo_by_date($date) { $idx = strftime("%u&qu
-
PHP获取一年有几周以及每周开始日期和结束日期
最近接了一个项目,其中有一需求是用php获取一年有几周以及每周开始日期和接触日期.在网上找些资料没有合适的,于是自己做了一份,下面通过两种方式实现PHP获取一年有几周以及每周开始日期和结束日期 代码一: <?php header("Content-type:text/html;charset=utf-8"); date_default_timezone_set("Asia/Shanghai"); $year = (int)$_GET['year']; $wee
-
PHP使用strtotime获取上个月、下个月、本月的日期
今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改. 获取本月日期: function getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $lastday = date("Y-m-d"
-
php获取开始与结束日期之间所有日期的方法
本文实例讲述了php获取开始与结束日期之间所有日期的方法.分享给大家供大家参考,具体如下: /** * 获取指定日期段内每一天的日期 * @param Date $startdate 开始日期 * @param Date $enddate 结束日期 * @return Array */ function getDateFromRange($startdate, $enddate){ $stimestamp = strtotime($startdate); $etimestamp = strtot
-
PHP下获取上个月、下个月、本月的日期(strtotime,date)
今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改. 获取本月日期: 复制代码 代码如下: function getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $lastday = da
-
php根据日期或时间戳获取星座信息和生肖等信息
分享一个利用php根据日期或时间戳获取相应的干支纪年,生肖和星座信息的函数方法,具体函数代码以及使用方法如下: /** 判断干支.生肖和星座 */ function birthext($birth){ if(strstr($birth,'-')===false&&strlen($birth)!==8){ $birth=date("Y-m-d",$birth); } if(strlen($birth)===8){ if(eregi('([0-9]{4})([0-9]{2}
-
php获取本周星期一具体日期的方法
本文实例讲述了php获取本周星期一具体日期的方法.分享给大家供大家参考.具体如下: private function mondayTime($timestamp=0,$is_return_timestamp=true){ static $cache ; $id = $timestamp.$is_return_timestamp; if(!isset($cache[$id])){ if(!$timestamp) $timestamp = time(); $monday_date = date('Y
-
PHP获取昨天、今天及明天日期的方法
本文实例讲述了PHP获取昨天.今天及明天日期的方法.分享给大家供大家参考,具体如下: //PHP返回昨天的日期 function get_last_date() { $tomorrow = mktime(0,0,0,date("m"),date("d")-1,date("Y")); return date("Y-m-d", $tomorrow); } //PHP返回今天的日期 function get_today_date()
-
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
废话不多少,上代码 复制代码 代码如下: // 获取指定日期所在星期的开始时间与结束时间 function getWeekRange($date){ $ret=array(); $timestamp=strtotime($date); $w=strftime('%u',$timestamp); $ret['sdate']=date('Y-m-d 00:00:00',$timestamp-($w-1)*86400); $ret['edate']=date('
-
php获取本周开始日期和结束日期的方法
本文实例讲述了php获取本周开始日期和结束日期的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: //当前日期 $sdefaultDate = date("Y-m-d"); //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期 $first=1; //获取当前周的第几天 周日是 0 周一到周六是 1 - 6 $w=date('w',strtotime($sdefaultDate)); //获取本周开始日期,如果$w是0,则表示周日,减去 6
-
PHP获取一年中每个星期的开始和结束日期的方法
本文实例讲述了PHP获取一年中每个星期的开始和结束日期的方法.分享给大家供大家参考.具体分析如下: 最近项目中需要做个提交周报的功能,需要知道指定周数的开始日期和结束日期,以便处理其他业务.以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码,与大家分享. 以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码. function get_week($year) { $year_start = $year . "-01-01"; $year_end = $ye
随机推荐
- JavaScript Event学习第十章 一些可替换的事件对
- ASP.NET MVC中的视图生成实例分析
- 在asp.NET中字符串替换的五种方法第1/2页
- JavaScript数组去重的多种方法(四种)
- MySQL 常见错误分析与解决方法
- 基于simple_html_dom的使用小结
- Redis教程(六):Sorted-Sets数据类型
- 开源的javascript项目Kissy介绍
- Android 打开网络上pdf文件
- php给一组指定关键词添加span标签的方法
- Android开发微信APP支付功能的要点小结
- C#递归实现将一整数逆序后放入一数组中
- Android编程之光线传感器用法详解
- vue element-ui table表格滚动加载方法
- Python爬虫 批量爬取下载抖音视频代码实例
- 关于layui的动态图标不显示的解决方法
- 浅谈Docker 客户端和守护进程
- Django框架实现的简单分页功能示例
- 详解基于webpack&gettext的前端多语言方案
- 使用pytorch进行图像的顺序读取方法