PHP各种日期\星期获取

//本周
$w = date('w') == 0 ? 7 : date('w');
$time  = time();
$bz_stime = date('Y-m-d', $time - (($w - 1) * 86400));
$bz_etime = date('Y-m-d', $time + ((7 - $w) * 86400));
//上周
$last_start = date('Y-m-d',strtotime("$bz_stime - 7 days"));
$last_end = date('Y-m-d',strtotime("$bz_stime - 1 days"));
//本月
$by_stime = date("Y-m-d",mktime(0, 0 , 0,date("m"),1,date("Y")));
$by_etime = date("Y-m-d",mktime(23,59,59,date("m"),date("t"),date("Y")));
//上月
$sy_stime = date("Y-m-d",mktime(0, 0 , 0,date("m")-1,1,date("Y")));
$sy_etime = date("Y-m-d",mktime(23,59,59,date("m") ,0,date("Y")));
//下月
$xy_stime = date("Y-m-d",mktime(0, 0 , 0,date("m")+1,1,date("Y")));
$xy_etime = date("Y-m-d",mktime(23,59,59,date("m")+2,0,date("Y")));
//本季度
$season = ceil((date('n'))/3);//当月是第几季度
$bjd_stime = date('Y-m-d', mktime(0, 0, 0,$season*3-3+1,1,date('Y')));
$bjd_etime = date('Y-m-d', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y')));
//上季度
$season = ceil((date('n'))/3)-1;//上季度是第几季度
$sjd_stime = date('Y-m-d', mktime(0, 0, 0,$season*3-3+1,1,date('Y')));
$sjd_etime = date('Y-m-d', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y')));

$dateTxtArr = [
 ['txt' => '今日', 'val' => date('Y-m-d') . ' - ' . date('Y-m-d')], //今日时间段
 ['txt' => '昨日', 'val' => date('Y-m-d',strtotime('-1 day')) . ' - ' . date('Y-m-d',strtotime('-1 day'))], //昨日时间段
 ['txt' => '本周', 'val' => $bz_stime . ' - ' . $bz_etime], //本周时间段
 ['txt' => '上周', 'val' => $last_start . ' - ' . $last_end], //上周时间段
 ['txt' => '本月', 'val' => $by_stime . ' - ' . $by_etime], //本月时间段
 ['txt' => '上月', 'val' => $sy_stime . ' - ' . $sy_etime], //上月时间段
 ['txt' => '本季度', 'val' => $bjd_stime . ' - ' . $bjd_etime], //本季度时间段
 ['txt' => '上季度', 'val' => $sjd_stime . ' - ' . $sjd_etime], //上季度时间段
];

print_r($dateTxtArr);

获取中文星期几可以这样

$weekarray = ["日","一","二","三","四","五","六"];
echo"星期".$weekarray[date('w')];

获取指定日期是星期几:

$weekarray = ["日","一","二","三","四","五","六"];
echo "星期". $weekarray[date('w','2022-05-01')];

因为date函数非常强大,手册参考:

a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零;: "01""31"
D - 星期几,三个英文字母;: "Fri"
F - 月份,英文全名;: "January"
h - 12 小时制的小时;: "01""12"
H - 24 小时制的小时;: "00""23"
g - 12 小时制的小时,不足二位不补零;: "1"12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
t - 指定月份的天数; 如: "28" 至 "31"
U - 总秒数
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"

大家快试试吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Web项目开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值