`
hehailin1986_163.com
  • 浏览: 154490 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

php时间戳与日期互转

    博客分类:
  • PHP
阅读更多
PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4)

所以存到数据库也有两种形式了(真正不止,我的应用就两种),时间戳类型我是保存为字符串的,这个是比较方便的.

正常日期类型是保存为DATE型的.

这两个要注意一下,我平时用两种,所以,前几天建的表,把时间类型存为DATE的,我还一直用时间戳保存,一直资料写不进表,调试了好久的才知错误之处,是类型不符合,不给写入库.

像上面的时间戳是比较方便,但,显示的时候,不至于把这个1228348800串给客户看吧,GOD NOWS!

所 以就用到了这两个的转换,先说一下如何取得当前的时间戳,$date1=time();这样就取得当前的时间戳了,要转回2008-12-4这种格式呢, 用到date()这个函数了,在PHP中date()函数比较常用,如取得当前日期,可以用$date2=date('Y-m-d');,关于里面参数的 意思,如不懂就查一下php的手册了.

好,言归正传,把1228348800转成2008-12-4格式代码如下:

$date3=date('Y-m-d H:i:s',"1228348800");

这样就OK了,如还想得到小时,分钟秒,只要把'Y-m-d'改一下就可以了,不过要注意一下,PHP时间还像有8个小时的误差.加上就OK了.

时间戳转正常日期有了,反之呢,把正常日期格式转为时间戳呢,请看如下代码:

$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);

这样就能把正常日期转成时间戳了,这里如果有时分秒也是同理,

注意: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
澳大利亚:Australia/Sydney

分享到:
评论

相关推荐

    PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】

    本文实例讲述了PHP基于DateTime类解决Unix时间戳与日期互转问题。分享给大家供大家参考,具体如下: 这个问题主要在32位的系统下出现,64位的不存在这样的问题。php 5.2+提供了DateTime类来处理这样的问题,参考方案...

    Mysql中时间戳转为Date的方法示例

    其他相关文章,如“MySQL中日期和时间戳互相转换的函数和方法详解”、“MySQL日期、字符串、时间戳互转”等,可以帮助你更深入地了解MySQL中的日期时间处理。而“PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期...

    MySQL中日期和时间戳互相转换的函数和方法

    与`FROM_UNIXTIME()`相反,MySQL提供了`UNIX_TIMESTAMP()`函数,它可以将日期或日期时间表达式转换为Unix时间戳。比如,我们要将日期'2015-04-29'转换为时间戳,可以使用以下查询: ```sql SELECT UNIX_TIMESTAMP('...

    php封装的时间处理类

    6. **时间戳与日期时间互转**:`timestampToDate($timestamp)`和`dateToTimestamp($date)`方法,方便在Unix时间戳和日期时间字符串之间进行转换。 7. **时间区间检查**:`isWithinRange($date, $startDate, $...

    php实现的太平洋时间和北京时间互转的自定义函数分享

    在介绍如何使用PHP实现太平洋时间和北京时间互转的自定义函数之前,需要了解几个重要的PHP内置函数:`date_default_timezone_set()`、`date()`和`strtotime()`。 `date_default_timezone_set()`函数用于设置时区。...

    PHP多功能在线工具箱网站源码.zip

    7. **日期时间转换**:提供不同日期格式间的转换,以及时间戳与日期之间的相互转换,简化了日期处理的工作。 8. **HTTP请求工具**:模拟GET、POST等HTTP请求,用于API测试和数据抓取,有助于开发者快速验证接口功能...

    PHP面试题及答案,另附学习心得

    此代码使用了`strtotime`函数来计算前一天的时间戳,再通过`date`函数将时间戳转换为指定的日期格式。 #### 二、`echo()`, `print()`, `print_r()`的区别 **题目**: 解释`echo()`, `print()`, `print_r()`之间的...

    站长工具源码 v2.0 PHP版.rar

    )9、HTML/JS互转工具(HTML/JS互转。)10 、搜索蜘蛛、机器人模拟工具(通过本工具可以快速模拟搜索引擎蜘蛛访问页面所抓取到的内容信息!)11、关键词密度检测(通过本工具可以快速检测页面关键词出现的数量和密度...

    八桂大地便民查询工具 v1.0.rar

    9、HTML/JS互转工具(HTML/JS互转。) 10 、搜索蜘蛛、机器人模拟工具(通过本工具可以快速模拟搜索引擎蜘蛛访问页面所抓取到的内容信息!) 11、关键词密度检测(通过本工具可以快速检测页面关键词出现的数量和...

    z5站长工具 v2.0.rar

    9、HTML/JS互转工具(HTML/JS互转。) 10 、搜索蜘蛛、机器人模拟工具(通过本工具可以快速模拟搜索引擎蜘蛛访问页面所抓取到的内容信息!) 11、关键词密度检测(通过本工具可以快速检测页面关键词出现的数量和...

    站长工具完整无错版 v2.6.rar

    9、HTML/JS互转工具(HTML/JS互转。) 10 、搜索蜘蛛、机器人模拟工具(通过本工具可以快速模拟搜索引擎蜘蛛访问页面所抓取到的内容信息!) 11、关键词密度检测(通过本工具可以快速检测页面关键词出现的数量和...

    站长工具 v2.2完整无错版

    9、HTML/JS互转工具(HTML/JS互转。) 10、搜索蜘蛛、机器人模拟工具(通过本工具可以快速模拟搜索引擎蜘蛛访问页面所抓取到的内容信息!) 11、关键词密度检测(通过本工具可以快速检测页面关键词出现的数量和密度...

    站长工具—网站信息查询分析系统

    9、HTML/JS互转工具(HTML/JS互转。) 10、搜索蜘蛛、机器人模拟工具(通过本工具可以快速模拟搜索引擎蜘蛛访问页面所抓取到的内容信息!) 11、关键词密度检测(通过本工具可以快速检测页面关键词出现的数量和密度...

Global site tag (gtag.js) - Google Analytics