`

php时间戳转换差8小时问题

    博客分类:
  • 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
原址:http://hailinhe1986-163-com.javaeye.com/blog/484538

分享到:
评论

相关推荐

    10/13位时间戳转换工具

    本工具用于将时间戳转换为日期,支持10位和13位。

    unix时间戳转换查询小工具

    这个“Unix时间戳转换查询小工具”显然是为了帮助开发者和用户方便地处理和转换Unix时间戳。 Unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不包括闰秒。这个时间点被称为“Unix纪元”。在编程中...

    渝海UNIX时间戳转换工具 V1.1.rar

    欢迎使用渝海UNIX时间戳转换工具,本工具运行环境需求:PHP。 大部分网络应用存储时间值都是时间戳数字,如果您需要知道对应标准时间,或调整标准时间在数据库中的值,使用本工具就可以轻松实现。 升级说明: 1、...

    基于PHP的UNIX时间戳转换工具源码.zip

    这个压缩包"基于PHP的UNIX时间戳转换工具源码.zip"显然包含了一个用于处理UNIX时间戳转换的PHP代码实现。UNIX时间戳是自1970年1月1日(UTC/GMT的午夜)以来的秒数,不考虑闰秒,常用于存储和传递时间信息。下面我们...

    基于PHP的UNIX时间戳转换工具 V1.1.zip

    这个“基于PHP的UNIX时间戳转换工具 V1.1.zip”压缩包显然是一个利用PHP编写的工具,它能够处理和转换UNIX时间戳。在本文中,我们将深入探讨UNIX时间戳的概念,PHP在处理时间戳方面的功能,以及如何使用PHP编写这样...

    PHP实例开发源码—UNIX时间戳转换工具.zip

    8. **测试**:源码中可能包含了测试用例,用于验证时间戳转换的正确性。了解测试用例可以帮助我们了解工具的工作原理,并且可以在后续的维护中作为参考。 综上所述,这个PHP实例开发源码主要涉及了对UNIX时间戳的...

    各种语言时间戳转换方法.docx

    时间戳转换是计算机编程中常见的问题之一。在不同的编程语言中,获取 Unix 时间戳(Unix timestamp)和将 Unix 时间戳转换为普通时间的方法各不相同。下面将详细介绍在不同编程语言中实现时间戳转换的方法。 Java ...

    基于PHP的UNIX时间戳转换工具V1.1源码.zip

    这个"基于PHP的UNIX时间戳转换工具V1.1源码.zip"文件提供了一个实用的工具,它允许开发者将UNIX时间戳与人类可读的时间格式进行相互转换。UNIX时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不包括闰秒...

    python正常时间和unix时间戳相互转换的方法

    这段代码可以用来转换常规时间格式为unix时间戳,也可以将unix时间戳转换回来, 例如:1332888820 格式转换成 2012-03-28 06:53:40的形式 # -*- coding: utf-8 -*- import time def timestamp_datetime(value): ...

    PHP时间戳与日期之间转换

    PHP时间戳与日期之间转换 <?php echo(strtotime("now")); echo(strtotime("3 October 2005")); echo(strtotime("+5 hours")); echo(strtotime("+1 week")); echo(strtotime("+1 week 3 days 7 hours 5 ...

    PHP 时间戳和日期时间转换

    要将时间戳转换为日期时间字符串,可以使用`date()`函数,将时间戳作为第二个参数传递。例如: ```php $timestamp = time(); $dateString = date('Y-m-d H:i:s', $timestamp); ``` 若要将日期时间字符串转换为...

    字符串和时间戳相互转换

    1. Python中的字符串与时间戳转换: - `strptime()` 函数用于将字符串按照指定的格式转换为时间对象。 ```python from datetime import datetime date_string = "2023-03-15 10:30:00" format = "%Y-%m-%d %H:%...

    php时间戳转换代码详解

    在php中我们要把时间戳转换日期可以直接使用date函数来实现,如果要把日期转换成时间戳可以使用strtotime()函数实现,下面我来给大家举例说明。 1.php中时间转换函数 strtotime (date()) date(Y-m-d H:i,$unixtime)...

    解析php时间戳与日期的转换

    在PHP编程中,时间戳与日期的转换是常见的任务,特别是在处理与时间相关的逻辑时。时间戳是一个表示特定时刻的整数,自1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。在PHP中,时间戳通常用于记录和...

    Javascript的时间戳和php的时间戳转换注意事项

    转换函数需要处理的一个重要任务是将时间戳转换成易于理解的日期和时间表示,例如“X秒前”、“X分钟前”、“X小时前”、“X天前”等。在这个过程中,需要计算出两个时间戳之间的差值,并根据差值的大小来决定使用哪...

    php时间戳转换的示例

    总结来说,这个示例展示了如何使用PHP进行时间戳转换,特别是在获取昨天、今天和明天时间范围上的应用。理解这些基础概念和方法对于PHP开发人员来说至关重要,因为它们是处理日期和时间问题的基础。

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

    为了方便开发,文中还推荐了一些在线日期和时间相关工具,如日期/天数计算器、日期计算器、相差天数计算器以及Unix时间戳转换工具,这些工具可以帮助开发者快速验证和处理日期时间相关的计算。 总结,PHP的...

    时间戳、装换时间的方法

    - 将Unix时间戳转换为普通时间:可以使用 `java.text.SimpleDateFormat` 类将Unix时间戳转换为人类可读的日期和时间。 2. **JavaScript**: - 获取Unix时间戳:`new Date().getTime()` 返回的是毫秒值,除以1000...

Global site tag (gtag.js) - Google Analytics