`

php中时间戳和日期格式的转换(转载)

 
阅读更多
一,PHP时间戳函数获取指定日期的unix时间戳 strtotime(”2009-1-22″) 示例如下:

echo strtotime(”2009-1-22″) 结果:1232553600

说明:返回2009年1月22日0点0分0秒时间戳

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(5)打印指定下星期几的时间戳strtotime(”next 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(”next Thursday”)) 结果:2009-01-29 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”)) 结果:2009-01-15 00:00:00
以上PHP时间戳函数示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间。

示例:

<?php
 
/***************************************************************************
*
* Copyright (c) 2011 Baidu.com, Inc. All Rights Reserved
* $Id$
*
**************************************************************************/
 
 
 
//时间戳转日期
$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";
 
/*
time();
是获得当前时间,但获得的是一整型
*/
//可以对此进行格式化
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);
 
/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */
?>


需要注意的部分
<一>、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

这样就可以实现输出的是北京时间了



分享到:
评论

相关推荐

    时间戳 日期时间的转换

    1. **时间戳转日期时间**:从一个时间戳值转换为人类可读的日期时间格式。在Python中,我们可以使用`datetime`模块来完成这个操作。例如: ```python import datetime timestamp = 1684693200 # 假设这是当前的...

    易语言日期时间戳转换!!!

    易语言日期时间戳转换,也就是把日期时间转换成数值的形式,方便操作!易语言日期时间戳转换,也就是把日期时间转换成数值的形式,方便操作!易语言日期时间戳转换,也就是把日期时间转换成数值的形式,方便操作!...

    PHP 时间戳和日期时间转换

    现在,让我们关注如何在时间戳和日期时间字符串之间进行转换。要将时间戳转换为日期时间字符串,可以使用`date()`函数,将时间戳作为第二个参数传递。例如: ```php $timestamp = time(); $dateString = date('Y-m-...

    时间戳转日期格式小工具

    将时间戳数据(例如:1441958646000)转日期格式,默认转换格式为“yyyy-MM-dd hh:mm:ss”,你还可以自定义转换格式如:“MM/dd/yyyy”;

    时间戳和日期时间互换

    一个非常简介的时间戳转换工具,可以把时间,日期,转换成时间戳,也可以把时间戳转换成日期格式。

    C++时间戳日期之间的转换--时间测试

    自己做的各类数组的测试,用于测试时间戳与日期的转换

    将时间戳转换为格式化日期的工具

    在IT领域,时间戳与格式化日期的转换是常见的任务,尤其在数据分析、日志处理以及系统编程中。本文将详细讲解如何利用给定的工具"将时间戳转换为格式化日期",并深入探讨其背后的原理和实现方式。 首先,时间戳是一...

    DateHelper日期和时间戳之间的相互转换可用于浏览器和NodeJS

    "DateHelper"是一个专门针对日期和时间戳转换的库,它支持在浏览器环境和Node.js环境中使用,这使得开发者在跨平台开发时能够有一致的日期处理体验。下面将详细探讨DateHelper库的特性、用法以及如何在实际项目中...

    PHP时间戳与日期之间转换

    PHP时间戳与日期之间转换 &lt;?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 ...

    tableau时间戳转换日期

    - `DATEADD`函数用于向指定日期添加指定数量的时间单位(这里是秒),`DATE`函数则用于将结果转换为日期格式。 ##### 选项2:转换为日期时间字段 1. **更改数据类型**:如果原始日期字段被错误地识别为字符串而非...

    时间戳和时间的转换

    总结,VB中的时间戳与时间转换主要依赖`DateAdd`和`DateDiff`函数,它们可以帮助我们轻松地在Unix时间戳和日期时间类型之间进行切换。了解这些基本概念和方法,能有效提升我们在编程中的工作效率。

    Android获取时间戳,以及将时间戳转换为时间

    在这个教程中,我们将深入探讨如何在Android环境中获取时间戳以及如何将时间戳转换为可读的日期和时间。 首先,我们来了解如何在Android中获取当前的时间戳。在Java中,我们可以使用`System.currentTimeMillis()`...

    科学计数法转换时间戳 科学计数法转换时间戳

    这个案例展示了在处理时间戳和科学计数法转换时需要注意的细节,尤其是在精度和格式转换方面。在编程实践中,理解和正确处理这些细节至关重要,因为任何小小的失误都可能导致程序运行出错或数据不准确。因此,对于...

    时间戳转换图片Base64转换小工具

    时间戳转换工具可以帮助用户将时间戳值转换成易读的日期和时间格式,反之亦然。这对于开发者来说非常实用,特别是在处理服务器请求、日志分析和时间相关的程序设计时。 **图片Base64转换** 图片Base64转换是将图片...

    时间和时间戳的相互转换函数——VB

    在IT领域,特别是编程语言中,时间和日期的处理是非常重要的功能之一。对于不同的应用场景,我们需要将日期时间转换为便于计算的形式,例如Unix时间戳(即从1970年1月1日00:00:00 UTC起至当前时间的秒数),或者将...

    基于C语言的时间戳相互转换日期.rar

    2. **时间戳转换为日期**:这个函数可能接受一个`time_t`类型的时间戳作为输入,然后将其解析为人类可读的日期格式。在C语言中,`localtime()`或`gmtime()`函数可以将时间戳转换为`struct tm`结构体,然后再用`...

    Timstamp时间戳转日期时间双向转换工具-下载

    在IT领域,时间戳(Timestamp)是一个...总之,时间戳和日期时间的转换是IT工作中常见的操作,这个工具简化了这一过程,为用户和开发者提供了便利。无论是处理服务器日志,还是分析应用程序事件,都能大大提高效率。

    java时间戳与日期相互转换工具详解

    Java 时间戳与日期相互转换工具是 Java 语言中非常重要的一部分,正确地处理时间戳和日期之间的转换是非常必要的。本文将详细介绍 Java 中时间戳与日期之间的相互转换工具,并提供了实用的代码示例。 一、时间戳与...

    MySQL UNIX时间戳与日期的相互转换

    在处理数据库操作时,经常需要将UNIX时间戳转换为日期格式或者反之。UNIX时间戳是一种自1970年1月1日(UTC/GMT的午夜)以来所经过的秒数的计时方法,不考虑闰秒。在MySQL中,可以通过`FROM_UNIXTIME()`和`UNIX_...

    13位时间戳转换工具

    在描述中提到的“13位时间戳转换工具”指的是一个可以将13位数字形式的时间戳转换为易于理解的日期和时间格式,例如“北京时间”。 13位时间戳与标准的Unix时间戳有所不同,标准的Unix时间戳是10位或13位数字,表示...

Global site tag (gtag.js) - Google Analytics