$currentDate
=
date("U");
//是替换成从一个起始时间(好象是1970年1月1日)以来的秒数
date("l",
$currentDate)
//这句貌似只起到一个作用,就是显示date("l")也就是星期几。加上$currentDate没什么效果!
date("l",
$currentDate)
!=
"Monday";
//整句的意思是,当前日期不等于Monday时
代码如下:
// 获取指定日期所在星期的开始时间与结束时间
function getWeekRange($date){
$ret=array();
$timestamp=strtotime($date);
$w=strftime('%u',$timestamp);
$ret['sdate']=date('Y-m-d 00:00:00',$timestamp-($w-1)86400);
$ret['edate']=date('Y-m-d 23:59:59',$timestamp+(7-$w)86400);
return $ret;
}
// 获取指定日期所在月的开始日期与结束日期
function getMonthRange($date){
$ret=array();
$timestamp=strtotime($date);
$mdays=date('t',$timestamp);
$ret['sdate']=date('Y-m-1 00:00:00',$timestamp);
$ret['edate']=date('Y-m-'$mdays' 23:59:59',$timestamp);
return $ret;
}
// 以上两个函数的应用
function getFilter($n){
$ret=array();
switch($n){
case 1:// 昨天
$ret['sdate']=date('Y-m-d 00:00:00',strtotime('-1 day'));
$ret['edate']=date('Y-m-d 23:59:59',strtotime('-1 day'));
break;
case 2://本星期
$ret=getWeekRange(date('Y-m-d'));
break;
case 3://上一个星期
$strDate=date('Y-m-d',strtotime('-1 week'));
$ret=getWeekRange($strDate);
break;
case 4: //上上星期
$strDate=date('Y-m-d',strtotime('-2 week'));
$ret=getWeekRange($strDate);
break;
case 5: //本月
$ret=getMonthRange(date('Y-m-d'));
break;
case 6://上月
$strDate=date('Y-m-d',strtotime('-1 month'));
$ret=getMonthRange($strDate);
break;
}
return $ret;
}
//按年月日的格式 输出时间
$time=date("Y-m-d",time());
//j将时间用explode分割函数,分割成数组
$v=explode('-',$time);
echo $v[0]$v[1]$v[2];
格式 date("Y m d",strtotime('2007-08-27 17:17:18'))
因为你限定的就是输出"Y m d"格式的时间,也就是年月日,没有给定时分秒的格式,通常格式为("Y m d H:i:s",strtotime('2007-08-27 17:17:18')),如果你想修改,下面是格式表:
a
小写的上午和下午值
am 或 pm
A
大写的上午和下午值
AM 或 PM
B
Swatch Internet 标准时
000 到 999
d
月份中的第几天,有前导零的 2 位数字
01 到 31
D
星期中的第几天,文本表示,3 个字母
Mon 到 Sun
F
月份,完整的文本格式,例如 January 或者 March
January 到 December
g
小时,12 小时格式,没有前导零
1 到 12
G
小时,24 小时格式,没有前导零
0 到 23
h
小时,12 小时格式,有前导零
01 到 12
H
小时,24 小时格式,有前导零
00 到 23
i
有前导零的分钟数
00 到 59>
I
是否为夏令时
如果是夏令时为 1,否则为 0
j
月份中的第几天,没有前导零
1 到 31
l(“L”的小写字母)
星期几,完整的文本格式
Sunday 到 Saturday
L
是否为闰年
如果是闰年为 1,否则为 0
m
数字表示的月份,有前导零
01 到 12
M
三个字母缩写表示的月份
Jan 到 Dec
n
数字表示的月份,没有前导零
1 到 12
O
与格林威治时间相差的小时数
例如:+0200
r
RFC 822 格式的日期
例如:Thu, 21 Dec 2000 16:01:07 +0200
s
秒数,有前导零
00 到 59>
S
每月天数后面的英文后缀,2 个字符
st,nd,rd 或者 th。可以和 j 一起用。
t
给定月份所应有的天数
28 到 31
T
本机所在的时区
例如:EST,MDT(译者注在 Windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。
U
从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数
参见 time()
w
星期中的第几天,数字表示
0(表示星期天)到 6(表示星期六)
W
ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 410 新加的)
例如:42(当年的第 42 周)
Y
4 位数字完整表示的年份
例如:1999 或 2003
y
2 位数字表示的年份
例如:99 或 03
z
年份中的第几天
0 到 366
Z
时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。
-43200 到 43200
PHP 中的 strtotime() 函数可以实现
strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
strtotime(time,now)
time 规定要解析的时间字符串。
now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
成功则返回时间戳,否则返回 FALSE。在 PHP 510 之前本函数在失败时返回 -1。
例子
<php
echo(strtotime("2015-05-22 15:00:00"));
>
以上就是关于php date函数全部的内容,包括:php date函数、PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)、php程序中如何把年月日时分秒的时间格式转化成年月日的格式,并且把年月日的值分别单独输出等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)