PHP date, strtotime, mktime处理
今天经过几个工作日(周一~周五)后为哪天。
2016-09-08经过5个工作日为2016-09-14
$currentDate=date('Y-m-d', strtotime("-1 days")); //当前日期
$workerWeeks = floor($workerDays / 5);
$endDate = date('Y-m-d',strtotime("$currentDate + " . $workerWeeks * 7 . "days"));
$days = $workerDays - $workerWeeks * 5;
for ($i=0; $i < $days; $i++) {
$endDate = date('Y-m-d',strtotime("$endDate +1 days"));
if (date('w',strtotime($endDate)) == 6) {
$endDate = date('Y-m-d',strtotime("$weekEndDate +2 days"));
}
if (date('w',strtotime($endDate)) == 0) {
$endDate = date('Y-m-d',strtotime("$weekEndDate +1 days"));
}
}
return $endDate;
date('Y-m-d', $time());
date('Y-m-d', '1453996800');
date('Y-m-d H:i:s', '1453996800');
date('H:i', '1453996800');
date('w', '1453996800'); 星期中的第几天,数字表示 0(星期天)到 6(星期六) , 对应moment('1453996800000').format('d')
date() 函数格式化一个本地时间/日期。
date(format,timestamp)format 必需。规定如何返回结果。timestamp 可选。
d月份中的第几天,有前导零的 2 位数字 01 到 31
D 星期中的第几天,文本表示,3 个字母 Mon 到 Sun
j 月份中的第几天,没有前导零 1 到 31
l (“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday
N ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(星期一)到 7(星期天)
S 每月天数后面的英文后缀,2 个字符 st,nd,rd 或者 th。可以和 j 一起用
w 星期中的第几天,数字表示 0(星期天)到 6(星期六)
z 年份中的第几天 0 到 366
W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 42(当年的第 42 周)
F 月份,完整的文本格式,例如 January 或者 March January 到 December
m 数字表示的月份,有前导零 01 到 12
M 三个字母缩写表示的月份 Jan 到 Dec
n 数字表示的月份,没有前导零 1 到 12
t 给定月份所应有的天数 28 到 31
L 是否为闰年 如果是闰年为 1,否则为 0
o ISO-8601 格式年份数字。
Y 4 位数字完整表示的年份 例如:1999 或 2003
y 2 位数字表示的年份 例如:99 或 03
a 小写的上午和下午值 am 或 pm
A 大写的上午和下午值 AM 或 PM
B Swatch Internet 标准时 000 到 999
g 小时,12 小时格式,没有前导零 1 到 12
G 小时,24 小时格式,没有前导零 0 到 23
h 小时,12 小时格式,有前导零 01 到 12
H 小时,24 小时格式,有前导零 00 到 23
i 有前导零的分钟数 00 到 59>
s 秒数,有前导零 00 到 59>
e 时区标识(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores
I 是否为夏令时 如果是夏令时为 1,否则为 0
O 与格林威治时间相差的小时数 例如:+0200
P 与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔 例如:+02:00
T 本机所在的时区
Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边是正的。 -43200 到 43200
c ISO 8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00
r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
U 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 time()获得时间戳
date('Y-m-d', strtotime('2015-01-15'));
date('Y-m-d', strtotime('+1 day', strtotime(''2015-01-15'')));
date('Y-m-d', strtotime('-1 day', strtotime('+1 month', strtotime(date('Y-m-01', (int)$endTime)))));
date('Y-m-d', strtotime('-1 day', strtotime('+1 year', strtotime(date('Y-01-01', (int)$endTime)))))
strtotime() 将任何英文文本的日期或时间描述解析为 Unix 时间戳。
strtotime(time,now);time 规定要解析的时间字符串。now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
该函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数,则用系统当前时间。
date("M-d-Y",mktime(0,0,0,12,36,2001)) => Jan-05-2002
mktime() 函数返回一个日期的 Unix 时间戳。
mktime(hour,minute,second,month,day,year,is_dst)
hour 可选。规定小时。
minute 可选。规定分钟。
second 可选。规定秒。
month 可选。规定用数字表示的月。
day 可选。规定天。
year 可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。
is_dst可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性。参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。
参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。
转载于:https://www.cnblogs.com/floraCnblogs/p/date-strtotime.html
PHP date, strtotime, mktime处理相关推荐
- date加一天php,PHP时间日期操作增减(date strtotime) 加一天 加一月
时间函数是PHP里面的日常函数,时间的默认时期,今天.昨天.明天 .上一周.下一周,本周开始时间和结束时间:本月开始时间结束时间:上月开始时间结束时间,指定日期的周一和周日等等方法. date_def ...
- PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
时间函数是PHP里面的日常函数,时间的默认时期,今天.昨天.明天 .上一周.下一周,本周开始时间和结束时间:本月开始时间结束时间:上月开始时间结束时间,指定日期的周一和周日等等方法. date_def ...
- PHP时间日期操作增减(date strtotime) 加一天 加一月
转自:http://www.dodobook.net/php/1451 时间函数是PHP里面的日常函数,时间的默认时期,今天.昨天.明天 .上一周.下一周,本周开始时间和结束时间:本月开始时间结束时间 ...
- php strtotime mktime,php mktime和strtotime
本文章来给各位同学介绍一下利用php用strtotime或mktime指定日期数据(本周,上周,本月,上月,本季度)实例,希望对各位同学会有所帮助呀. strtotime定义和用法 strtotime ...
- php strtotime mktime,php中time()和mktime()用法的区别分析
在php编程中,时间函数time(),返回当前时间的.而mktime()函数,不是返回当前时间,而是格式化时间. 虽然单独写mktime()而不加任何参数如:echo mktime()和echo ti ...
- php date strtotime的用法
1.上个月第一天及最后一天.echo date('Y-m-01', strtotime('-1 month'));echo strtotime(date('Y-m-01 0:00:00', strto ...
- 2038年问题 php,php strtotime() mktime() 的2038年问题 Y2K38漏洞
Y2K38 漏洞是什么? Y2K38,又称 Unix Millennium Bug, 这个漏洞将会影响到所有 32 位系统下用 UNIX 时间戳整数来记录时间的 PHP,及其它编程语言.一个整型的变量 ...
- PHP面试-复习知识点整理
false的七种情况 整型0 浮点0.0 布尔false 空字符串'',"" 字符串'0' 空数组[] NULL 超全局数组 $GLOBALS,包含下面8个超全局数组的值 $_GE ...
- 第一章 PHP基础知识考察点
一. 引用变量 PHP引用变量的概念及定义方式 概念 在PHP中引用意味着用不同的名字访问同一个变量内容. 定义方式 使用&符号 unset只会取消引用,不会销毁空间 $a = 1; $b = ...
最新文章
- encodeURIComponent编码2次
- 线程的生命周期和状态控制
- Codeforces 1070A Find a Number(BFS) 2018-2019 ICPC, NEERC, Southern Subregional Contest Problem A
- 第一:MySQL+MyBatis实现对测试用例数据的读取(接口自动化落地)
- 宝塔 运程mysql_宝塔面板使用详解(极简搭建各种环境、mysql数据库等)
- An Introduction to Unstructured Mesh Generation Methods and Softwares for Scientific Computing
- L007-oldboy-mysql-dba-lesson07
- 如何查看mysql 的端口号?
- 【优化预测】基于matlab布谷鸟算法优化SVM预测【含Matlab源码 1422期】
- Phpmailer指定多位收件人
- 进销存excel_Excel教程:简易进销存!厉害了,SUMIFS!
- 【MySQL】不建议使用分区表
- 调出软键盘 挤掉标题栏咋办
- 提升用户体验?指示性设计元素不可或缺
- 如何练就超强的学习能力?这才是最好的答案
- android摄影程序,手机影像魅力:10款最佳Android摄影程序
- 数据加密——列置换加密
- 详解Docker的基本原理与实践操作
- 中国教育大数据研究院在福州成立 倪光南任联席院长
- SHT11传感器的温度湿度监控报警系统单片机Proteus设计(附仿真+论文+程序等)