PHP中使用mktime获取时间戳的一个黑色幽默分析

yipeiwu_com6年前PHP代码库

下面这段代码是网上大多数人给出的时间戳现实,这个一看便知只能说是取得当前日期,而不能算是时间戳,不用多解释了吧!

复制代码 代码如下:

$now = mktime(0,0,0,date("m"),date("d"),date("Y"));
echo "now is ".date("Y/m/d", $now);

显示结果:
now is 2012/05/30
显然这不是我想要的结果。
于是,按照旧有的思维,我想当然的改造成下面这个形式:
复制代码 代码如下:

$now = mktime(date("h"),date("M"),date("s"),date("m"),date("d"),date("Y"));
echo "now is ".date("Y/M/d h:i:s", $now);

注意红色的部分,通常如果月份用m,那么分钟就应该是M。或者前者用M,后者用m。
显示结果:
复制代码 代码如下:

Warning: mktime() expects parameter 2 to be long, string given in D:\usr\webroot\testPHP\index.php on line 46
now is 1970/01/01 08:Jan:00

看来主观臆断是不可取的,PHP的语法和其他的语言还是有些区别的。

不卖关子了,还是直接给大家正确的答案
复制代码 代码如下:

$now = mktime(date("h"),date("i"),date("s"),date("m"),date("d"),date("Y"));
echo "now is ".date("Y/m/d h:i:s", $now);

哈哈~是“i”而不是什么m或者M,这里给出大家这个示例只是想让PHP的初学少走一些弯路。
至于M是什么意思,大家自己做一下就明白了...嘿嘿!!!
显示结果:
复制代码 代码如下:

now is 2012/05/30 04:54:25

网络上互相复制文章的人太多,没有多少人去深究这个,让如我一样的PHP初学者无所适从。大家拷贝复制之前是不是多动动手自己实现一下在写出了,对自己是个提高,对读者也是一直负责的态度。

相关文章

phpstorm 正则匹配删除空行、注释行(替换注释行为空行)

phpstorm 正则匹配删除空行、注释行(替换注释行为空行)

使用phpstorm 来编写php 和javascript 代码,感觉还是不错的,用得也很舒服。 遇到了一个需求,有时候在阅读框架源代码的时候 , 想过滤(删除)掉源代码中的注释行,如果...

php文件缓存方法总结

为大家分享很全的php文件缓存,供大家参考,具体内容如下 <?php class cache { private static $_instance = null...

Windows2003下php5.4安装配置教程(IIS)

Windows2003下php5.4安装配置教程(IIS)

本文与《Windows2003下php5.4安装配置教程(Apache2.4)》(点击打开链接)为姊妹篇,只是php所用的服务器有点不同,这里一个是Apache2.4,一个是Window...

PHP学习笔记之数组篇

一、如何定义数组:在PHP中创建数组主要有两种方式,下面就让我们来看看如何创建一个数组 (1)直接给每个元素赋值的方法创建数组。 格式为:$arrayname[key]=value; 其...

php的ajax框架xajax入门与试用介绍

一、xajax与其它ajax框架的比较 xajax功能很简单,但很灵活!~它不象其它一些大的框架,功能确实强大,但执行速度不敢恭维。。功能虽多,但不够灵活。api多,学起来简直如同学习一...