0
点赞
收藏
分享

微信扫一扫

时间戳和时间之间的转换 获取不同时间的时间戳

_刘彦辉 2023-02-16 阅读 122


时间戳转日期 date()

date(‘Y-m-d H:i:s’, 具体时间戳)

Y :年(四位数)大写
m : 月(两位数,首位不足补0) 小写
d :日(两位数,首位不足补0) 小写
H:小时 带有首位零的 24 小时小时格式
h :小时 带有首位零的 12 小时小时格式
i :带有首位零的分钟
s :带有首位零的秒(00 -59)
a:小写的午前和午后(am 或 pm)

大小写的区分非常重要,例如以下例子:

var_dump(date('Y-m-d H:i:s', 1502204401)); //H 24小时制 2017-08-08 23:00:01  
var_dump(date('Y-m-d h:i:s', 1502204401)); //h 12小时制 2017-08-08 11:00:01

日期转时间戳 strtotime()

strotime是非常灵活聪明的函数,可以识别中文,英文,数字,我们来感受一下

echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
echo strtotime("20170808 23:00:01"), "\n";

获取不同时间的时间戳

date_default_timezone_set("Asia/Shanghai"); //设置为上海时间 否则开始时间会相差8个小时
//获取今日开始时间戳和结束时间戳
$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

//获取昨日起始时间戳和结束时间戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;

//获取本周起始时间戳和结束时间戳
$beginThisweek = mktime(0,0,0,date('m'),date('d')-date('w')+1,date('y'));
$endThisweek=time();

//获取上周起始时间戳和结束时间戳
$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));

//获取本月起始时间戳和结束时间戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));

//上个月的起始时间:
$begin_time = strtotime(date('Y-m-01 00:00:00',strtotime('-1 month')));
$end_time = strtotime(date("Y-m-d 23:59:59", strtotime(-date('d').'day')));

$begin_year = strtotime(date("Y",time())."-1"."-1"); //本年开始
$end_year = strtotime(date("Y",time())."-12"."-31"); //本年结束

//现在的时间到第二天凌晨相差的时间戳
$time = (strtotime(date('Y-m-d'))+3600*24) - time() ;


举报

相关推荐

0 条评论