php时间当前月份、上个月、下个月等的第一天和最后一天

阅读: 评论:0

php时间当前⽉份、上个⽉、下个⽉等的第⼀天和最后⼀天⼀、在我们的⽇常开发中,要⽤到统计某个时间段的数据,⽽特定的时间点需要我们⽤程序来获取!
⽐如说要统计上个⽉的数据,则需要知道上个⽉开始时间和结束时间!
php要获取时间需要⽤到的函数:time(), date(),strtotime(),等等
strtotime()是⼀个功能⽐较强⼤的函数,可以很⽅便的获取到我们想要的时间戳,然后通过配合date()函数获取我们所需要的时间点!
山东有哪些好玩的地方旅游景点//当⽉的天数,某⽉的天数
$month_days = date('t');
$month_days2 = date('t',strtotime('2017-2-6'));
echo $month_days.'---'.$month_days2;
echo "<br />";
//这个⽉的第⼀天的⽇期,这个⽉的最后⼀天的⽇期
$now_month_first_date = date('Y-m-1');
$now_month_last_date  = date('Y-m-d',strtotime(date('Y-m-1',strtotime('next month')).'-1 day'));
echo '当⽉第⼀天⽇期'.$now_month_first_date.'当⽉最后⼀天的⽇期'.$now_month_last_date;
echo "<br />";
//上个⽉第⼀天的⽇期格式,上个⽉最后⼀天的⽇期格式
$last_mont_first_date = date('Y-m-1',strtotime('last month'));
$last_mont_end_date = date('Y-m-d',strtotime(date('Y-m-1').'-1 day'));
echo '上个⽉第⼀天的⽇期格式'.$last_mont_first_date.'上个⽉最后⼀天的⽇期格式'.$last_mont_end_date;
echo "<br />";
//下个⽉的第⼀天时间⽇期,下个⽉的最后⼀天时间⽇期
$next_mont_first_date = date('Y-m-1',strtotime('next month'));
$next_mont_end_date = date('Y-m-d',strtotime(date('Y-m-1',strtotime('next month')).'+1 month -1 day'));
echo '下个⽉的第⼀天时间⽇期'.$next_mont_first_date.'下个⽉的最后⼀天时间⽇期'.$next_mont_end_date;
echo "<br />";
//今⽇开始-结束时间戳
$start_time = strtotime(date('Y-m-d 00:00:00',time()));
$end_time  = ($start_time+86400);
//本周开始-结束时间戳
$start_time = mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"));
$end_time  = mktime(23,59,60,date("m"),date("d")-date("w")+7,date("Y"));
//本⽉开始-结束时间戳
$start_time = strtotime(date('Y-m-1').'-1 day')+24*60*60;
$end_time  = strtotime(date('Y-m-1 00:00:00',strtotime('next month')));
//本年开始时间-结束时间戳
$start_time = strtotime(date('Y-1-1 00:00:00',time()));
$end_time  = strtotime(date('Y-1-1 00:00:00',strtotime('+1 year')));
⼆、data() 函数:
在页⾯的最前页加上
date_default_timezone_set(PRC);  /*把时间调到北京时间,php5默认为格林威治标准时间*/
date ()
a:  "am"或是"pm"
A:  "AM"或是"PM"
A:  "AM"或是"PM"
d:  ⼏⽇,两位数字,若不⾜则补零;从"01"⾄"31"
江门古兜温泉度假村
D:    星期⼏,3个英⽂字母,如:"Fri"
F:    ⽉份,英⽂全名,如:"January"
h:    12⼩时制的⼩时,从"01"⾄"12"
H:    24⼩时制的⼩时,从"00"⾄"23"
g:    12⼩时制的⼩时,不补零;从"1"⾄"12"
G:    24⼩时制的⼩时,不补零;从"0"⾄"23"
j:    ⼏⽇,不⾜不被零;从"1"⾄"31"
l:    星期⼏,英⽂全名,如:"Friday"
m:    ⽉份,两位数字,从"01"⾄"12"
n:    ⽉份,两位数字,不补零;从"1"⾄"12"
M:    ⽉份,3个英⽂字母;如:"Jan"
s:  秒;从"00"⾄"59"
S:    字尾加英⽂序数,两个英⽂字母,如:"21th"
t:    指定⽉份的天数,从"28"⾄"31"
U:    总秒数
w:    数字型的星期⼏,从"0(星期天)"⾄"6(星期六)"
Y:    年,四位数字
y:    年,两位数字
z:⼀年中的第⼏天;从"1"⾄"366"
==================================================================
1,年-⽉-⽇
表⽰年可以⽤⼤写的Y和⼩写y;
表⽰⽉可以⽤⼤写F、⼤写M、⼩写m和⼩写n(分别表⽰字符和数字的两种⽅式);
表⽰⽇可以⽤⼩写d和⼩写j,⼤写S表⽰⽇期的后缀。
echo date('Y-m-j');
2007-02-6
echo date('y-n-j');
07-2-6
⼤写Y表⽰年四位数字,⽽⼩写y表⽰年的两位数字;
⼩写m表⽰⽉份的数字(带前导),⽽⼩写n则表⽰不带前导的⽉份数字。
echo date('Y-M-j');
巴厘岛特景点
2007-Feb-6
echo date('Y-m-d');
2007-02-06
⼤写M表⽰⽉份的3个缩写字符,⽽⼩写m则表⽰⽉份的数字(带前导0);
没有⼤写的J,只有⼩写j表⽰⽉份的⽇期,⽆前导o;若需要⽉份带前导则使⽤⼩写d。
echo date('Y-M-j');
2007-Feb-6
echo date('Y-F-jS');
2007-February-6th
⼤写M表⽰⽉份的3个缩写字符,⽽⼤写F表⽰⽉份的英⽂全写。(没有⼩写f)
⼤写S表⽰⽇期的后缀,⽐如“st”、“nd”、“rd”和“th”,具体看⽇期数字为何。
2,时:分:秒
默认情况下,PHP解释显⽰的时间为“格林威治标准时间”,与我们本地的时间相差8个⼩时。
echo date('g:i:s a');
5:56:57 am
echo date('h:i:s A');
05:56:57 AM
⼩写g表⽰12⼩时制,⽆前导0,⽽⼩写h则表⽰有前导0的12⼩时制。
当使⽤12⼩时制时需要表明上下午,⼩写a表⽰⼩写的“am”和“pm”,⼤写A表⽰⼤写的“AM”和“PM”。echo date('G:i:s');
上海世博公园游玩攻略一日游14:02:26
⼤写G表⽰24⼩时制的⼩时数,但是不带前导的;使⽤⼤写的H表⽰带前导的24⼩时制⼩时数
⼩结:
字母g表⽰⼩时不带前导,字母h表⽰⼩时带前导;
⼩写g、h表⽰12⼩时制,⼤写G、H表⽰24⼩时制。
3,闰年、星期、天
echo date('L');
今年是否闰年:0
echo date('l');
今天是:Tuesday
echo date('D');
今天是:Tue
⼤写L表⽰判断今年是否闰年,布尔值,为真返回1,否则为0;
⼤写L表⽰判断今年是否闰年,布尔值,为真返回1,否则为0;
⼩写l表⽰当天是星期⼏的英⽂全写(Tuesday);
⽽使⽤⼤写D表⽰星期⼏的3个字符缩写(Tue)。
echo date('w');
今天星期:2
echo date('W');
本周是全年中的第 06 周
⼩写w表⽰星期⼏,数字形式表⽰
⼤写W表⽰⼀年中的星期数
echo date('t');
本⽉是 28 天
echo date('z');
今天是今年的第 36 天
⼩写t表⽰当前⽉份⼜多少天
⼩写z表⽰今天是本年中第⼏天
4,其他
echo date('T');
UTC
⼤写T表⽰服务器的时间区域设置
echo date('I');
⼤写I表⽰判断当前是否为夏令时,为真返回1,否则为0
echo date('U');
1170769424
⼤写U表⽰从1970年1⽉1⽇到现在的总秒数,就是Unix时间纪元的UNIX时间戳。
echo date('c');
2007-02-06T14:24:43+00:00
⼩写c表⽰ISO8601⽇期,⽇期格式为YYYY-MM-DD,⽤字母T来间隔⽇期和时间,时间格式为HH:MM:SS,时区使⽤格林威治标准时间(GMT)的偏差来表⽰。
echo date('r');
Tue, 06 Feb 2007 14:25:52 +0000
去丽江旅游跟团好还是自由行好⼩写r表⽰RFC822⽇期。
5、格式化时间
echo $row["t_time"];    将输出 2008-2-29 12:08:00
echo date("Y-m-d",strtotime($row["t_time"]));  将输出 2008-2-29
注,由于$row["t_time"]得到的时间已经是⼀个字符串,所以需要⽤strtotime( 字串转时间戳)转⼀下,否则输出1970-01-01的错误
三、mktime() 函数
php 获取今⽇、昨⽇、上周、本⽉的起始时间戳和结束时间戳的⽅法,主要使⽤到了 php 的时间函数 mktime()。
mktime函数⽤法如下: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。(⾃ PHP 5.1.0 起,本参数已被废弃。应该使⽤新的时区处理特性来替代。)
例⼦:今⽇、昨⽇、上周、本⽉的起始时间戳和结束时间戳
1  //获取今⽇开始时间戳和结束时间戳
2  $start = mktime(0,0,0,date('m'),date('d'),date('Y'));
3  $end = mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
4  //获取昨⽇起始时间戳和结束时间戳
5  $beginYesterday = mktime(0,0,0,date('m'),date('d')-1,date('Y'));
6  $endYesterday = mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
7  //获取上周起始时间戳和结束时间戳
乌镇一日游费用
8  $beginLastweek = mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
9  $endLastweek = mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
10  //获取本⽉起始时间戳和结束时间戳
11  $beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
12  $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));

本文发布于:2023-08-25 05:17:33,感谢您对本站的认可!

本文链接:http://www.035400.com/whly/3/596088.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:时间   结束   需要   前导   数字   获取   开始   好玩
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2024-2030 Comsenz Inc.Powered by © 文化旅游网 滇ICP备2022007236号-403 联系QQ:1103060800网站地图