PHP学习之日期时间函数

时区的获取和设置


header('content-type:text/html;charset=utf-8;');
/**
 * date_default_timezone_get():得到当前时区
 * date_default_timezone_set($timezone):动态设置时区
 * 亚洲时区:1.PRC 中华人民共和国 2.Asia/Shanghai
 * 修改时区的方法:
 * 1.修改配置文件php.ini:date.timezone=PRC,重启服务器,针对所有脚本都有效
 * 2.date_default_timezone_set()函数动态设置
 * 3.ini_set('date.timezone',$timezone)
 * 
 * ini_set():运行时设置PHP的配置选项
 * ini_get():获得配置选项的值
 */
echo "当前时区为:".date_default_timezone_get()."
"
; var_dump(date_default_timezone_set("PRC"));//设置成功返回true echo "
"
; echo "当前时区为:".date_default_timezone_get(); echo "
"
; ini_set('date.timezone','Asia/Shanghai'); echo "当前时区为:".ini_get('date.timezone');

date函数的参数解析


header("content_type:text/html;charset=utf-8;");
//日期格式化
echo date('Y/m/d H:i:s')."
"
;//2022/05/10 11:53:00 echo date('y-n-j g:i:s A')."
"
;//22-5-10 11:56:10 AM //date('w'):获取一周内的第几天,返回值为0~6 echo date('w')."
"
; //date("L")检测是否为闰年,是则返回1,否则返回0 echo date("L")."
"
; echo date('Y')."年"; echo date("L")?"是闰年":"不是闰年"; echo "
"
; echo "本周是全年的第".date('W')."周
"
; echo "今天是全年的第".date('z')."天
"
;

时间戳的使用


header("content-type:text/html;charset=utf-8;");
//time()返回1970年1月1日0时0分0秒到现在的秒数
echo time(),"
"
; echo date("Y-m-d H:i:s",time()),"
"
;//时间格式化 echo '一天后的时间为:',date("Y-m-d H:i:s",time()+24*60*60),"
"
; echo "一周前的时间为:",date("Y-m-d H:i:s",time()-7*24*60*60),"
"
; //mktime(h,i,s,n,j,Y)【时分秒月日年】得到指定日期的时间戳 echo mktime(0,0,0,5,15,2020)."
"
;//2020年5月15日0点0分0秒 //参数可以从后往前省略,默认为当前的年月日 echo date("Y-m-d H:i:s", mktime(0,0,0,5,15,2020))."
"
; echo date("Y-m-d H:i:s", mktime(0,0,0,5,15))."
"
; echo date("Y-m-d H:i:s", mktime(0,0,0,5))."
"
; echo date("Y-m-d H:i:s", mktime(0))."
"
; //计算两个日期的时间差 $birth = mktime(0,0,0,11,8,1995); $now = time(); $age = floor(($now-$birth)/(365*24*60*60));//floor向下取整 echo $age,"
"
; //strtotime()将英文文本解析为时间戳 echo date("Y-m-d H:i:s", time()),"
"
; echo date("Y-m-d H:i:s", strtotime("now")),"
"
; echo date("Y-m-d H:i:s", strtotime("+1 day")),"
"
; echo date("Y-m-d H:i:s", strtotime("-2 weeks")),"
"
; echo date("Y-m-d H:i:s", strtotime("+3 years 4 months 5days")),"
"
; echo date("Y-m-d H:i:s", strtotime("last Monday")),"
"
;

微秒


header("content-type:text/html;charset=utf-8;");
//microtime()获取微秒,返回微秒和时间戳两个值
//microtime(true)返回一个浮点数,保留4位小数
echo microtime(),"
"
; //0.92471100 1652173125 echo time(),"
"
; //1652173125 echo microtime(true),"
"
;//1652173125.9247 //计算程序执行时间 $start = microtime(true); for($i=0; $i<100000; $i++){ $arr[] = $i; } $end = microtime(true); //round(值,小数位)对浮点数进行四舍五入 echo "程序执行时间为:",round($end-$start, 4);

其它日期时间函数


header("content-type:text/html;charset=utf-8");
//getdate():取得日期/时间信息,返回的是一个数组
print_r(getdate());
echo "
"
; //gettimeofday():取得当前时间 print_r(gettimeofday()); echo "
"
; //checkdate(month,day,year)验证日期的合法性,返回bool var_dump(checkdate(2,3,2008)); echo "
"
; var_dump(checkdate(2,30,2008));

H5中新增日期时间相关表单控件

<form action="doAction.php" method="POST">
    
    <input type="date" name="date" id="">type=date<br>

    
    <input type="datetime" name="datetime" id="">type=datetime 未生效<br>

    
    <input type="datetime-local" name="datetime-local" id="">type=datetime-local<br>

    
    <input type="month" name="month" id="">type=month<br>

    
    <input type="week" name="week" id="">type=week<br>

    
    <input type="time" name="time" id="">type=time<br>
    <input type="submit" value="提交">
form>

你可能感兴趣的:(php,学习,开发语言)