获取不同时间日期的方法

245 阅读3分钟

获取今天、昨天、明天的日期

时间注意事项(重点):date("Y-m-d H:i:s",strtotime("-1 day"))这里的H是24小时制的

时间注意事项(重点):date("Y-m-d h:i:s",strtotime("-1 day"))这里的H是12小时制的

echo "今天:".date("Y-m-d")."\ ";        echo "昨天:".date("Y-m-d",strtotime("-1 day")), "\ ";        echo "明天:".date("Y-m-d",strtotime("+1 day")). "\ ";     echo "一周后:".date("Y-m-d",strtotime("+1 week")). "\ ";        echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "\ ";        echo "下个星期四:".date("Y-m-d",strtotime("next Thursday")). "\ ";        echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."\ ";        echo "一个月前:".date("Y-m-d",strtotime("last month"))."\ ";        echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."\ ";        echo "十年后:".date("Y-m-d",strtotime("+10 year"))."\ ";

strtotime()函数的作用是将日期时间描述解析为 Unix 时间戳

int strtotime ( string time [, int now] )

PHP星期几获取代码: date("l"); //data就可以获取英文的星期比如Sunday date("w");

//这个可以获取数字星期比如123,注意0是星期日 获取中文星期可以这样

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

获取指定日期是: $weekarray=array("日","一","二","三","四","五","六");

echo "星期".$weekarray[date("w","2011-11-11")];

因为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"`

echo  date('Y-m-d h:i:s',time()-30243600).'';    //通过计算的方式获得前30天的时间戳  

echo date('Y-m-d h:i:s',time()-7243600).'';      //通过计算的方式获得前7天前的时间戳  

echo date('Y-m-d h:i:s',time()+30243600).'
';      //通过计算的方式获取30天后的时间戳  

echo date('Y-m-d h:i:s',strtotime("+1 day")).'';     //通过strtotime系统函数获取明天的时间戳  

echo date('Y-m-d h:i:s',strtotime("-30 day")).'';   

//通过strtotime系统函数获取30天前的时间戳   echo date('Y-m-d h:i:s',strtotime("-1 month")).'';  

//通过strtotime系统函数获取30天前的时间戳   echo strtotime("2015-07-21 15:00:00").'';    //将制定的日期转换为时间戳

2.获取当天的前一天和后一天的数据

前一天 date("Y-m-d",time()-86400);   

后一天 date("Y-m-d",time()+86400);

//获取当前时间,前一天的时间:    $time = date("Y-m-d H:i:s",strtotime("-1 day"));

//获取当前时间的后一天的时间   $time = date("Y-m-d H:i:s",strtotime("+1 day"));

获取本月起始第一天:date('Y-m-d', mktime(0,0,0,date('n'),1,date('Y')))

获取本月最后一天:date('Y-m-d',strtotime(date('Y-m', time()).'-'.date('t', time()).' 00:00:00'))

获取指定某个日期阶段的日期:$strattime =  date("Y-m-d",strtotime('2019-07-30'));