本文章来给各位同学介绍一下利用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之Register Mode

    Assembler Code Content of ROM MOV R10,R11 MOV R10,R11 Length: One or two words Operation: Move the c ...

  2. Join 语句

    select * from books as A join (select * from Orders) as B on A.BookId = B.BookId select A.BookId,Aut ...

  3. SQL基本概述

    DBMS的种类: 层次数据库HDB 面向对象数据库OODB XML数据库XMLDB 键值存储系统KVS 关系数据库RDB RDBMS(关系数据库管理系统),主要5有种: Oracle Database ...

  4. day006 数字类型和字符串类型的内置方法

    首先,为什么要有数据类型? 对于不同类型的变量,需要用不同的数据类型去描述. 数字类型的内置方法 数据类型又分为整形和浮点型.以下所述的内置方法均适用于这两个类型. 必须掌握的方法*** 数据类型有基 ...

  5. python 生成HTmL报告页面 V1.2

    上代码 # -*- coding=utf-8 -*- import time,os #数据部分 func_dict={"funcname":"模块1",} fu ...

  6. vfs:结构体对象

    VFS结构体 super_block 存储一个已安装的文件系统的控制信息,代表一个已安装的文件系统:每次一个实际的文件系统被安装时, 内核会从磁盘的特定位置读取一些控制信息来填充内存中的超级块对象.一 ...

  7. [转]理解和配置 Linux 下的 OOM Killer

    最近有位 VPS 客户抱怨 MySQL 无缘无故挂掉,还有位客户抱怨 VPS 经常死机,登陆到终端看了一下,都是常见的 Out of memory 问题.这通常是因为某时刻应用程序大量请求内存导致系统 ...

  8. win10环境下配置django+Apache2.4.38+python3.6项目

    1.)Apache-2.4.38-win64-vc15下载地址: https://www.apachelounge.com/download/VC14/ 解压httpd-2.4.38-win64-VC ...

  9. P1040 加分二叉树(树上记忆化搜素)

    这道题很水 但我没做出来……………………………… 我写的时候状态设计错了,设计dp[l][m][r]为从l到r以m为根的值 这样写遍历状态就是n^3的,会TLE. 而且写路径的时候是用结构体写的,这样 ...

  10. PAT 1088. Rational Arithmetic

    For two rational numbers, your task is to implement the basic arithmetics, that is, to calculate the ...