php获取本地化时间戳函数

在实际的工作中我们还需要经常用到指定某个时间生成。

例如:需要找到昨天到今天此时此刻的注册用户。

那么我们需要做两件事情:

    1.得到当前的时间unix时间戳。用time()函数就可以直接搞定

    2.那么昨天指定时间该怎么生成呢。这个时候我们就需要使用到mktime()函数。简称:make time.创建时间。

生成出来的时间最好是unix时间戳。因为是1970年1月1日0时到现在的时间。我们做一个区间判断,就把昨天到今天注册的用户按照时间筛选出来了。

我们的mktime()函数可以对一个日期和时间获得一个本地化时间戳。其语法格式如下所示:

int mktime (int $hour [, int $minute [, int $second [, int $month [, int $day [. int$year [, int $.is_dstl.l } ] ] 31 )

函数的参数分别表示:时、分、秒、月、日、年、是否为夏令时。在使用这个函数时,需要注意所列的参数要与函数的参数含义相同。例如,下面的代码实现了用mktime构造一个时间戳的功能。

<?php
echo  mktime (13 ,15 , 30, 8,18, 2008) ;
?>

运行程序结果如下所示:

1219036530

mktime函数的返回结果是一个Unix时间戳,对用户的含义不大,常常与date函数一起完成时间的转换。

例如,下面的代码实现对时间的运算:

<?php 
echo date("m-d-Y h:m:s")."\n";
echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d"),date("Y")))."\n";
echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d")-30,date("Y")))."\n";

?>

我们使用的时候还经常需要使用到另外一个函数:strtotime()。

它的语法格式如下:

int strtotime ( string $time [, int $now = time() ] )

它能将将英文文本的日期时间描述解析为 Unix 时间戳。

参数:

    1.传入一个字符串的时间

    2.可选参数为是否传入unix时间戳,如果不传则是当前的unix时间戳。

我们来实验一下,看看手册中提供的一些例子:

<?php
//now为现在的当前时间
echo strtotime("now")."<br />";
//2000年9月10日
echo strtotime("10 September 2000")."<br />";
//当前时间加一天
echo strtotime("+1 day")."<br />";
//当前时间加一周
echo strtotime("+1 week")."<br />";
//当前时间加一周2天4小时2秒
echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br />";
//下一个星期四
echo strtotime("next Thursday")."<br />";
//上一个星期一
echo strtotime("last Monday")."<br />";
?>

通过上例发现,把一些时间通通加上了或者减去了英文中所表示的指定时间段。


继续学习
||
<?php //now为现在的当前时间 echo strtotime("now")."<br />"; //2000年9月10日 echo strtotime("10 September 2000")."<br />"; //当前时间加一天 echo strtotime("+1 day")."<br />"; //当前时间加一周 echo strtotime("+1 week")."<br />"; //当前时间加一周2天4小时2秒 echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br />"; //下一个星期四 echo strtotime("next Thursday")."<br />"; //上一个星期一 echo strtotime("last Monday")."<br />"; ?>
提交重置代码
章节
笔记
提问
课件
反馈
捐赠

php入门教程之一周学会PHP

高并发千万级数据库系统解决方案
  • 推荐课程
  • 评论
  • 问答
  • 笔记
  • 课件下载
meleeZhao

meleeZhao

echo date('Y/m/d', strtotime('+5 day', mktime(9,9,9,2,21,2018)));

4年前    添加回复 1

回复
青草地

青草地

居然这么随意

4年前    添加回复 1

回复
王统帅

王统帅

<?php echo date("m-d-Y h:m:s")."\n"; echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d"),date("Y")))."\n"; echo date(&

3年前    添加回复 0

回复
PHPer

PHPer

<?php echo date("m-d-Y h:m:s")."\n"; echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d"),date("Y")))."\n"; echo dat

4年前    添加回复 0

回复

世间函数的问题

[最新 城南花已开 的回答]m-d-Y h:m:s改为m-d-Y h:i:s,他将分钟的代码写错了

时间:3年前

不能上传笔记

[最新 ringa_lee 的回答]好的,收到你的建议,后期我们会考虑完善该功能的哈!

时间:4年前

使用phpdesigner编译报错

[最新 红红火火恍恍惚惚 的回答]在上面加上ini_set('date.timezone','prc');

时间:4年前

是不是有错误

[最新 Aの汉 的回答]难怪分钟不对,原来是日期哇,谢谢

时间:5年前

Decade

Decade

php手册地址https://www.php.net/download-docs.php

6个月前 0

吒哪

吒哪

1.mktime()函数可以对一个日期和时间获得一个本地化时间戳。 2.strtotime()能将将英文文本的日期时间描述解析为 Unix 时间戳。

2年前 0

枝头又吐新苗

枝头又吐新苗

获取本地时间戳 时间运算 date("m-d-Y h:m:s")."\n"中,h:m:s是时:月:秒,若要显示时分秒则改为h:i:s

3年前 0

西城

西城

mktime(int 时分秒月日年) 可以获取某个日期和时间的时间戳 strtotime() 将英文文本的日期时间解析成Unix时间戳 mktime的运行速度比strtotime要快

3年前 0

土豆没了哟

土豆没了哟

时间戳函数:mktime

3年前 0

北海以北

北海以北

mktime()函数可以对一个日期和时间获得一个本地化时间戳 例:echo mktime (13 ,15 , 30, 8,18, 2008) ;函数的参数分别表示:时、分、秒、月、日、年、

3年前 0

博龙

博龙

<?php //now为现在的当前时间 echo strtotime("now")."<br />"; echo date("Y年m月d日 H:i:s l")."<br>"."<br>"; //2000年9月10日 echo strtotime("10 September 2000")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("10 September 2000"))."<br>"."<br>"; //当前时间加一天 echo strtotime("+1 day")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("+1 day"))."<br>"."<br>"; //当前时间加一周 echo strtotime("+1 week")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("+1 week"))."<br>"."<br>"; //当前时间加一周2天4小时2秒 echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("+1 week 2 days 4 hours 2 seconds"))."<br>"."<br>"; //下一个星期四 echo strtotime("next Thursday")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("next Thursday"))."<br>"."<br>"; //上一个星期一 echo strtotime("last Monday")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("last Monday"))."<br>"."<br>"; echo mktime(11,25,30,01,29,2018).'<br/>'; echo date("Y年m月d日 H:i:s l",mktime(11,25,30,01,29,2018)) ?>

4年前 0

博龙

博龙

获取本地时间戳 时间运算 <?php echo date("m-d-Y h:m:s")."\n"; echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d"),date("Y")))."\n"; echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d")-30,date("Y")))."\n"; ?>

4年前 0

博龙

博龙

获取本地时间戳 <?php echo mktime (13 ,15 , 30, 8,18, 2008) ; ?>

4年前 0

小圈圈~

小圈圈~

不要照着这个上面的代码写,哪怕是照着写了,也要记住,设置时区,这里面没有设置时区,害我找了大半天的原因,写下来提醒一下各位

4年前 0

小崔

小崔

int mktime($hours,$minutes,$seconds,$month,$day,$year); 函数功能:可以对一个日期和时间获得一个本地化时间戳。 函数说明:参数分别表示时分/秒/月/日/年; 返回值:mktime函数的返回值是一个unix时间戳,对于用户的意义不大,常与date函数一起完成时间转换。 示例: echo date('Y-m-d H:i:s',mktime(10,15,35,date('y'),date('m'),date('d'))); 输出结果:2017-11-04 10:15:35

4年前 0

PHP

PHP

<?php //now为现在的当前时间 echo strtotime("now")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("now"))."<br>"."<br>"; //2000年9月10日 echo strtotime("10 September 2000")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("10 September 2000"))."<br>"."<br>"; //当前时间加一天 echo strtotime("+1 day")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("+1 day"))."<br>"."<br>"; //当前时间加一周 echo strtotime("+1 week")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("+1 week"))."<br>"."<br>"; //当前时间加一周2天4小时2秒 echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("+1 week 2 days 4 hours 2 seconds"))."<br>"."<br>"; //下一个星期四 echo strtotime("next Thursday")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("next Thursday"))."<br>"."<br>"; //上一个星期一 echo strtotime("last Monday")."<br />"; echo date("Y年m月d日 H:i:s l", strtotime("last Monday"))."<br>"."<br>"; ?>

5年前 0

课件暂不提供下载,工作人员正在整理中,后期请多关注该课程~