PHP时间的两种类型解析

开发 后端
PHP时间非为两种类型,一种是时间戳类,比如123456789,另外一种则是正常的日期格式,比如2009-11-23。正常的日期类型保存为DATE型。

PHP语言是一种嵌入式语言,我们今天为大家带来的是关于PHP时间的具体讲解。我们知道,PHP时间大致可以分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4)

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

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

这两个PHP时间要注意一下,我平时用两种,所以,前几天建的表,把时间类型存为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小时,PHP时间的具体解决办法如下

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

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

3、在程序中添加时间的初始化的语句的 即:“date_default_timezone_set("Asia/Shanghai"); ”这个可以由程序员任意设置,我的推荐。

时区标识符,大陆内地可用的PHP时间值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
澳大利亚:Australia/Sydney

责任编辑:曹凯 来源: javaeye博客
相关推荐

2010-09-29 09:59:22

J2ME配置

2010-04-29 13:12:18

Oracle合并函数

2018-03-23 10:51:21

云测试云计算性能测试

2010-03-18 14:02:37

Python空对象整理

2010-01-18 10:48:05

JBoss类隔离

2009-11-23 14:09:53

PHP的foreach

2010-07-27 15:03:37

Flex ArrayC

2011-02-23 12:49:31

KonquerorEmbedded

2010-05-24 09:02:52

MySQL表种类

2020-02-21 17:33:17

SparkKafka数据

2010-08-11 14:22:26

Flex弹出窗口

2009-09-02 16:21:02

C#解析Html

2009-11-27 11:19:11

PHP打印函数

2010-07-13 14:54:15

Perl面向对象编程

2010-07-02 10:28:41

虚拟化桌面虚拟化

2009-12-07 13:42:24

WCF框架

2010-10-09 10:04:45

FunctionJS

2011-12-26 15:58:01

枚举

2010-11-25 10:21:20

MySql查询时间段

2023-11-09 08:14:07

时间窗口限流
点赞
收藏

51CTO技术栈公众号