`

php时间戳和正常时间显示的转换【转】

    博客分类:
  • PHP
阅读更多

用date("Y-m-d H:i:s",$time)就可以了

 

mysql里面存的时间是时间戳,10位数的
怎么才能用函数转换成正常的时间函数输出?

time();
是获得当前时间,但获得的是一整型

可以对此进行格式化
date("Y-m-d H:i:s", time()) ;
这样连时,分秒一起显示
date("Y-m-d ", time()); 只年示年月日

详细可以去看http://hi.baidu.com/nbcc/blog/item/335376d97271342410df9b49.html

SQL语句也有时间函数,可以去看这里
http://user.qzone.qq.com/120868600/blog/1238421401

 

<?
echo "本机所在的时区:".date("T")."<BR>";
echo "PHP时间戳(UNIX秒):".mktime()."<BR>";
echo "PHP时间(本地格式化后):".date("Y-m-d H:i:s")."<HR>";
?>
<script language="">
<!--
var d;
function myDate(timestamp) {
d = new Date(timestamp);
var jstimestamp = (d.getFullYear())+"-"+(d.getMonth()+1)+"-"+(d.getDate())+" "+(d.getHours())+":"+(d.getMinutes())+":"+(d.getSeconds());
return jstimestamp;
}
var phptimestamp = <?=mktime()?>;
var jstimestamp = myDate((phptimestamp*1000));
  
document.writeln("PHP传递给时间:" + phptimestamp + "<BR>");
alert("PHP传递给时间:" + phptimestamp);
  
document.writeln("将PHP传递来的时间乘以1000后的时间戳:" + phptimestamp*1000 + "<BR>");
alert("将PHP传递来的时间乘以1000后的时间戳:" + phptimestamp*1000);
  
document.writeln("自身格式化PHP传递来乘以1000后的时间戳:" + d + "<BR>");
alert("自身格式化PHP传递来乘以1000后的时间戳:" + d);
  
document.writeln("转换后的时间:" + jstimestamp + "<BR>");
alert("转换后的时间:" + jstimestamp);
//-->
</
script>

 

HP时间大的来分有两种,一是时间戳类型(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

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

 

分享到:
评论

相关推荐

    PHP 时间戳和日期时间转换

    `date()`函数用于格式化本地日期和时间,接受两个参数:一个是格式字符串,另一个是可选的时间戳。例如,`date('Y-m-d H:i:s')`会返回当前日期时间的标准格式。`DateTime`类提供了更强大的日期时间操作,如创建、...

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

    本文实例讲述了python正常时间和unix时间戳相互转换的方法。分享给大家供大家参考。具体分析如下: 这段代码可以用来转换常规时间格式为unix时间戳,也可以将unix时间戳转换回来, 例如:1332888820 格式转换成 ...

    字符串和时间戳相互转换

    在编程领域,字符串和时间戳之间的转换是常见的操作,尤其在处理日期和时间相关的功能时。时间戳(Timestamp)通常表示为自1970年1月1日(UTC/GMT的午夜)以来的秒数,不考虑闰秒。而字符串则可以是多种格式的日期和...

    unix时间戳转换查询小工具

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

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

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

    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 ...

    10/13位时间戳转换工具

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

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

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

    时间戳、装换时间的方法

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

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

    这个函数会返回当前日期和时间对应的Unix时间戳,例如: ```php $currentTimestamp = time(); echo date("Y-m-d H:i:s", $currentTimestamp); ``` 上述代码会输出当前日期和时间的完整格式。 2. 获取指定日期...

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

    在不同的编程语言中,获取 Unix 时间戳(Unix timestamp)和将 Unix 时间戳转换为普通时间的方法各不相同。下面将详细介绍在不同编程语言中实现时间戳转换的方法。 Java Java 中可以使用 `System....

    PHP时间戳与日期之间转换的实例介绍

    这样可以确保时间戳转换为日期时,所显示的时间是按照用户所在的时区来确定的。 通过以上的实例介绍和知识点讲解,我们可以看到,PHP在时间戳与日期之间转换方面的功能非常强大,涵盖了从基础到高级的各种使用场景...

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

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

    PHP 时间转换Unix时间戳代码

    除了基本的时间戳转换外,PHP还提供了更多高级功能,例如: - **`DateTime` 类**:提供了更强大的日期和时间处理能力,支持更多复杂的时间计算。 - **`DateTimeZone` 类**:专门用于处理时区相关的问题。 - **日期...

    sqlite时间戳转时间语句(时间转时间戳)

    在SQLite中,要将时间戳转换为可读的时间格式,可以使用 `datetime()` 函数。这个函数接受一个整数(Unix时间戳)作为参数,并结合 `'unixepoch'` 和 `'localtime'` 格式字符串来将其转化为本地时间。例如: ```...

    php10位时间戳转java日期

    * 转换10位时间戳工具,返回String的“yyyy-MM-dd”时间 * @param datetime int型10位时间戳 */ public static String formatDate(int datetime){ SimpleDateFormat sdf = null; String dateTime = null;...

    PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)

    写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个... UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 一般形式:select FROM_UNIXTIME(1156219870); 2. 日期转换为UNIX时间戳用函数:

    JavaScript日期时间与时间戳的转换函数分享

    此外,还应当注意到,在处理日期时间时,性能也是一个需要考虑的因素,尤其是当涉及到大量日期时间数据的转换和格式化时。合理的设计转换函数,使用缓存等策略,可以提高应用程序的性能。 总而言之,理解和掌握...

    PHP时间戳和日期相互转换操作实例小结

    1. **时间戳转换为日期** PHP中的`date`函数用于格式化本地日期和时间。给定一个时间戳(如`time()`返回的当前时间戳),它能够将其转换为指定格式的日期字符串。例如: ```php echo date("Y-m-d H:i:s", time())...

Global site tag (gtag.js) - Google Analytics