本文章来给各位同学介绍一下利用php用strtotime或mktime指定日期数据(本周,上周,本月,上月,本季度)实例,希望对各位同学会有所帮助呀。

strtotime定义和用法

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

语法:strtotime(time,now),time 规定要解析的时间字符串,now 用来计算返回值的时间戳,如果省略该参数,则使用当前时间。

实例代码如下:

  1. echo date("Y-m-d",strtotime("now")), "";
  2. echo date("Y-m-d",strtotime("-1 week Monday")), ""; //离现在最近的周一
  3. echo date("Y-m-d",strtotime("-1 week Sunday")), ""; //离现在最近的周末
  4. echo date("Y-m-d",strtotime("+0 week Monday")), ""; //将要到来的周一
  5. echo date("Y-m-d",strtotime("+0 week Sunday")), ""; //将要到来的周末
  6. echo date("n");// 第几个月
  7. echo date("w");//本周周几
  8. echo date("t");// 本月天数
  9. echo "上周:";

mktime函数

mktime() 函数返回一个日期的 Unix 时间戳,参数总是表示 GMT 日期,因此 is_dst 对结果没有影响,参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值.

语法:mktime(hour,minute,second,month,day,year,is_dst)

实例代码如下:

  1. echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))),"";
  2. echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))),"";
  3. echo "
  4. 本周:
  5. ";
  6. echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))),"";
  7. echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))),"";
  8. echo "
  9. 上月:
  10. ";
  11. echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))),"";
  12. echo date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))),"";
  13. echo "
  14. 本月:
  15. ";
  16. echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))),"";
  17. echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y"))),"";
  18. $getMonthDays = date("t",mktime(0, 0 , 0,date("n")+(date("n")-1)%3,1,date("Y")));//本季度未最后一月天数
  19. echo "
  20. 本季度:
  21. ";
  22. echo date('Y-m-d H:i:s', mktime(0, 0, 0,date('n')-(date('n')-1)%3,1,date('Y'))),"";
  23. echo date('Y-m-d H:i:s', mktime(23,59,59,date('n')+(date('n')-1)%3,$getMonthDays,date('Y'))),"";
  24. $jdtoday = gregoriantojd(date('n'), date('j'), date('y'));
  25. $offset = jddayofweek($jdtoday)-1;
  26. for($i=0-$offset; $i<7-$offset; $i++){
  27. $date = strtotime($i.' days');
  28. echo(''.date('D', $date).'/'.date('n-j', $date).'');
  29. }
  30. ?>

参数        描述

hour        可选。规定小时。

minute      可选。规定分钟。

second      可选。规定秒。

month       可选。规定用数字表示的月。

day         可选。规定天。

year        可选。规定年。

在某些系统上,合法值介于 1901 - 2038 之间,不过在 PHP 5 中已经不存在这个限制了。

is_dst  可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。

自 5.1.0 起,is_dst 参数被废弃,因此应该使用新的时区处理特性。

php mktime和strtotime的更多相关文章

  1. 微信JS-SDK接口,分享到朋友圈”按钮点击状态及自定义分享内容接口

    jssdk.php 接口文件class JSSDK { private $appId; private $appSecret; public function __construct($appId, ...

  2. 使用strtotime和mktime时参数为0时返回1999-11-30的时间戳问题

    先看例子 代码如下 复制代码 <?php $time = date('Y-m-d',strtotime('00-00-00 00:00:00')); echo $time; //输出 1999- ...

  3. php strtotime,mktime,DateTime函数处理时间累加问题

    时间戳(年月日时分秒)  使用strtotime函数,结合+1 month,-1 month,next month,last month的时候会出现一些问题. demo示例: //时间"20 ...

  4. C#时间转整型(时间戳),模仿php strtotime函数的部分功能

    今天需要将一个基于MS SQL数据库的新闻系统数据导入phpcms v9,源系统新闻日期格式为"2014-01-15 10:45:49",而phpcms中使用的是整型时间戳,在ph ...

  5. 当碰到unix纪元问题时strtotime怎么转时间戳(DateTime类的使用方法)

    UNIX纪元时间又称POSIX时间/新纪元时间(Epoch Time):从协调世界时1970年1月1日0时0分0秒起到现在的总秒数,不包括闰秒.正值表示1970以後,负值则表示1970年以前. Uni ...

  6. PHP中strtotime函数使用方法分享

    在PHP中有个叫做strtotime的函数.strtotime 实现功能:获取某个日期的时间戳,或获取某个时间的时间戳.strtotime 将任何英文文本的日期时间描述解析为Unix时间戳[将系统时间 ...

  7. php strtotime函数服务器和本地不相同

    遇到过一种情况strtotime 在本地和服务器不相同 服务器返回的是-1 strtotime($sa_sagyo_ymd."23:59:59") 如果这样用不了,就只能换一种写法 ...

  8. (转载)PHP strtotime函数详解

    (转载)http://www.jb51.net/article/21495.htm strtotime函数是一个很好的函数,灵活的运用它,会给你的工作带来不少方便.但PHP的手册中却对此函数的参数没作 ...

  9. 转载:PHP时间戳 strtotime()使用方法和技巧

    在php中我想要获取时间戳有多种方法,最常用的就是使用time函数与strtotime()函数把日期转换成时间戳了 获取指定的年月日转化为时间戳:pHP时间戳函数获取指定日期的unix时间戳 strt ...

随机推荐

  1. Assembly之instruction之Indirect Autoincrement Mode

    Assembler Code Content of ROMMOV @R10+,0(R11)   MOV @R10+,0(R11) Length: One or two words Operation: ...

  2. ADB 命令和monkey

    一.概要 1.什么是adb? adb全称为Android Debug Bridge,就是起到调试桥的作用.顾名思义,adb就是一个debug工具. 2.adb工作原理 不是很理解?那就来看看它的工作原 ...

  3. 金蝶WAFII

  4. 【JavaScript游戏开发】JavaScript+HTML5封装的苏拉卡尔塔游戏(包含源码)

    /** 苏拉克尔塔游戏 * 思路: * 1.棋盘设置:使用HTML5的canvas标签绘制整个棋盘 * 2.点击事件:当页面被点击时,获取点击的x,y像素点,根据此像素点进行判断,再在合适位置绘制黑红 ...

  5. cxGrid主从表删除从表记录的困惑

    cxgrid主从表显示方便直观. varADetailDC: TcxGridDataController;AView: TcxCustomGridTableView; with cxgrdbndtbl ...

  6. opencart的语言包安装

    语言包复制到对应的目录: 前台:将档案上传至商店根目录\catalog\language\ 后台:将档案上传至商店根目录\admin\language\ 在后台: 增加了中文语言包 ========= ...

  7. 【ZOJ 4060】Flippy Sequence

    [链接] 我是链接,点我呀:) [题意] [题解] 按照两个区间的排列方式 我们可以分成以下几种情况 会发现这两个区间的作用 最多只能把两段连续不同的区间变为相同. 那么写个for处理出连续不相同的一 ...

  8. VIM 使用 匹配替换命令配合表达式 实现 递增替换

    :let n=100 | g/while/s/\d/\=n / | let n=n+1 before 10 void *thread_function_1(void *arg) { 11 int i; ...

  9. Redis命令操作简介及五种value数据类型

    转自:https://blog.csdn.net/ty4315/article/details/52050721 Redis是使用键值存储数据,key必须是字符串value支持五种数据类型,最新版本又 ...

  10. js简单自定义事件与主动触发事件

    var events = { addHandler: function (element, eventType, handler) { if (element.addEventListener) { ...