PHP中使用mktime获取时间戳的一个黑色幽默分析
下面这段代码是网上大多数人给出的时间戳现实,这个一看便知只能说是取得当前日期,而不能算是时间戳,不用多解释了吧!
代码如下:
$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初学者无所适从。大家拷贝复制之前是不是多动动手自己实现一下在写出了,对自己是个提高,对读者也是一直负责的态度。
相关推荐
-
PHP时间戳使用实例代码
我们一定会碰到这样的情况:银行A与银行B几乎同时打开你的账户并看到你的账户上原有1000元存款,然后两家银行都想在你的账户上加上500元存款.那么,银行A便将1000元改成1500元,同时,银行B也将1000元改成了1500元.这样就糟糕了!最后,你的银行账户上最后只有1500元而不是理应的2000元,等于白白损失了500元!这就是在没有锁定数据的情况下修改造成的严重问题.然而,我们可以通过时间戳来巧妙解决这个问题. 我们来看思路: 在银行account表中建立时间戳字段timestamp,设定
-
使用php 获取时间今天明天昨天时间戳的详解
使用php获取时间今天明天昨天时间戳2013-06-20 11:12<?phpecho "今天:".date("Y-m-d")."<br>"; echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>"; echo "明天:".date("Y-m-
-
解析php时间戳与日期的转换
大家也许对PHP时间戳已经有所了解,那么我们如何应用它来获取具体的日期呢?我们今天来为大家介绍一下PHP时间戳获取当前时期的具体方式. 实现功能:获取某个日期的时间戳,或获取某个时间的PHP时间戳. strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间. strtotime 将任何英文文本的日期时间描述解析为Unix时间戳[将系统时间转化成unix时间戳] 一,获取指定日期的unix时间戳
-
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
复制代码 代码如下: //php获取今日开始时间戳和结束时间戳$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; //php获取昨日起始时间戳和结束时间戳 $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));$endYesterday=mktime(
-
php时间戳转换的示例
以下例子得出结果: 复制代码 代码如下: array(3) { ["yesterday"]=> array(2) { [0]=> int(1395874800) [1]=> int(1395961199) } ["today"]=> array(2) { [0]=> int(1395961200) [1]=> int(1396047599) } ["tomorrow"]=> array(2) { [0]=
-
php日期转时间戳,指定日期转换成时间戳
写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式. 一.在MySQL中完成 这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性. 1. UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 一般形式:selec
-
php 创建以UNIX时间戳命名的文件夹(示例代码)
实例如下: 复制代码 代码如下: <?php //Get timenow $addtime=date("Ymd",time()); //Creat Dir $testdir="./".$addtime."/"; if(file_exists($testdir)): else: mkdir($testdir,0777); endif; ?>
-
PHP 时间转换Unix时间戳代码
复制代码 代码如下: <?php date_default_timezone_set('Asia/Chongqing'); $time1 = "2006-04-16 08:40:54"; $time2 = strtotime($time1); echo $time2; echo date('Y-m-d h:i:s',$time2); ?>
-
PHP时间戳与日期之间转换的实例介绍
1.php中时间转换函数 strtotime("today") date("Y-m-d H:i",$unixtime) 2.php中获得今天零点的时间戳 要获得零点的unix时间戳,可以使用$todaytime=strtotime("today"), 然后再使用date("Y-m-d H:i",$todaytime)转换为日期. 3.php中时间戳转换为日期,并按照时间显示不同的内容,如刚刚,分钟前,小时前,今天,昨天等 /*
-
PHP时间戳 strtotime()使用方法和技巧
在php中我想要获取时间戳有多种方法,最常用的就是使用time函数与strtotime()函数把日期转换成时间戳了,下面我来给大家分享一下时间戳函数 strtotime用法.获取指定的年月日转化为时间戳:pHP时间戳函数获取指定日期的unix时间戳 strtotime('2012-12-7')示例如下: 复制代码 代码如下: <?php echo strtotime('2012-12-7'); //结果:1354838400 ?> 说明:返回2012年12月7日0点0分0秒时间戳. 将
-
php 计算两个时间戳相隔的时间的函数(小时)
这个是可以具体到小时的php代码 复制代码 代码如下: /* Author: 杨宇 yangyu@sina.cn */ //输入两个时间戳,计算差值,也就是相差的小时数,如返回2:10,则表示输入的两个时间相差2小时10分钟 function hours_min($start_time,$end_time){ if (strtotime($start_time) > strtotime($end_time)) list($start_time, $end_time) = array($end_t
-
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
$t = time(); $t1 = mktime(0,0,0,date("m",$t),date("d",$t),date("Y",$t)); $t2 = mktime(0,0,0,date("m",$t),1,date("Y",$t)); $t3 = mktime(0,0,0,date("m",$t)-1,1,date("Y",$t)); $t4 = mktime
-
PHP得到某段时间区间的时间戳 php定时任务
这两天要实现这样功能: 当达到某一条件时,让服务器发短信给用户,数量为多条. 基本思路:linux 定时扫描,若有满足条件的用户,则发送短信. 但为了防止打扰到用户,要求只能在白天8:00-20:00发送短信,怎么样获得到每天的这段时间区间? 请看 复制代码 代码如下: $y=date("Y",time()); $m=date("m",time()); $d=date("d",time()); $start_time = mktime(9, 0,
-
php strtotime 函数UNIX时间戳
如果 time 的格式是绝对时间则 now 参数不起作用.如果 time 的格式是相对时间则其所相对的时间由 now 提供,或者如果未提供 now 参数时用当前时间.失败时返回 -1. <?php echo strtotime ("now"), "\n"; echo strtotime ("10 September 2000"), "\n"; echo strtotime ("+1 day"), &q
-
Javascript的时间戳和php的时间戳转换注意事项
这里要注意的是js的时间戳是13位,php的时间戳是10位,转换函数如下: 复制代码 代码如下: var nowtime = (new Date).getTime();/*当前时间戳*/ /*转换时间,计算差值*/ function comptime(beginTime,endTime){ var secondNum = parseInt((endTime-beginTime*1000)/1000);//计算时间戳差值 if(secondNum>=0&&secondNum<60
-
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式. 一.在MySQL中完成 这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性. 1. UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 一般形式:selec
-
php microtime获取浮点的时间戳
一直以来用这个函数获取: 复制代码 代码如下: function microtime_float(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } 看到别人的源码中用microtime(true),查了下手册,原来从PHP 5.0.0 开始,microtime增加了这个参数. 引用 复制代码 代码如下: mixed microtime ( [bool get_
随机推荐
- Prototype源码浅析 String部分(二)
- AngularJS 文件上传控件 ng-file-upload详解
- jquery1.4后 jqDrag 拖动 不可用
- 高效利用Angular中内置服务$http、$location等
- 深入理解vue.js中的v-if和v-show
- Apache和Tomcat服务器间的区别、联系、整合详细介绍
- ASP.NET编程简单实现生成静态页面的方法【附demo源码下载】
- PHP与SQL注入攻击[二]
- 如何在PHP中使用Oracle数据库(3)
- 首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
- Docker容器固定IP分配详解
- python中list常用操作实例详解
- Ajax请求中async:false/true的作用分析
- SQLServer用存储过程实现插入更新数据示例
- SQL Server2008数据库导入导出兼容性处理方案
- 一个Js文件函数中调用另一个Js文件函数的方法演示
- 详解Huffman编码算法之Java实现
- 移动web开发之touch事件实例详解
- mysql 8.0.15 winx64解压版安装配置方法图文教程
- 利用es6 new.target来对模拟抽象类的方法