您的位置:威尼斯官方网站 > 威尼斯正规官网 > mktime(卡塔尔国 函数重返贰个日期的 Unix 时间戳

mktime(卡塔尔国 函数重返贰个日期的 Unix 时间戳

发布时间:2020-01-03 20:02编辑:威尼斯正规官网浏览(105)

    实例批注早先,先来介绍几个着力函数: 
    mktime 函数
    mktime(卡塔尔国 函数再次来到一个日子的 Unix 时间戳。
    参数总是表示 克拉霉素T 日期,由此 is_dst 对结果还未影响。
    参数能够从右到左依次空着,空着的参数会被设为相应的一时一刻 创新霉素T 值。
    语法:mktime(hour,minute,second,month,day,year,is_dst)
    **
    参数               描述 
    **hour       可选。规定小时。 
    minute   可选。规定分钟。 
    second   可选。规定秒。 
    month    可选。规定用数字代表的月。 
    威尼斯官方网站,day         可选。规定天。 
    year        可选。规定年。在好几系统上,合法值介于 1903 - 2038 之间。可是在 PHP 5 中已经不设有那一个范围了。 
    is_dst  可选。要是时光在日光节约时间(DST卡塔尔时期,则设置为1,不然设置为0,若未知,则设置为-1。  
    自 5.1.0 起,is_dst 参数被放弃。因而应该利用新的时区管理特性。  
    事例:mktime(卡塔尔(قطر‎函数对于日期运算和认证特别常有效。它能够自行修改越界的输入:  

    <?php 
    echo(date("M-d-Y",mktime(0,0,0,12,36,2001))); 
    echo(date("M-d-Y",mktime(0,0,0,14,1,2001))); 
    echo(date("M-d-Y",mktime(0,0,0,1,1,2001))); 
    echo(date("M-d-Y",mktime(0,0,0,1,1,99))); 
    ?>
    

    输出:  

    Jan-05-2002 
    Feb-01-2002 
    Jan-01-2001 
    Jan-01-1999
    

    strtotime 函数 strtotime(卡塔尔(قطر‎ 函数将别的斯洛伐克语文本的日羊时间描述深入分析为 Unix 时间戳。
    语法:strtotime(time,now)
    参数      描述  time    规定要分析的年月字符串。 
    now     用来计算重回值的时日戳。要是省略该参数,则运用当前时光。   
      16日之后:  strtotime("+1 week"卡塔尔 ;
      30日早前:  strtotime("-1 week"卡塔尔 ;
      10月以后:  strtotime("+1 months"卡塔尔 ;
      一天过后:  strtotime("+1 days"State of Qatar ;      
      30秒之后 strtotime( " +30 seconds " );
      20分钟过后 strtotime( " +20 minutes " 卡塔尔(قطر‎;
      12个小时过后 strtotime( " +12 hours " 卡塔尔;

    date 函数

    date(卡塔尔国 函数格式化多少个地方时间/日期。
    语法
    date(format,timestamp) 
    date_default_timezone_set 函数
    date_default_timezone_set(State of Qatar函数设置用在剧本中有所日期/时间函数的暗许时区。
    date_default_timezone_set(timezone)

    实例 

    先是种情景是绝非数据库,只是获得的日子值实行相比的话,那就得精光用php的年月日期函数总计了,如下:

    诸如要计算二零一五-9-5到二零一四-9-18还应该有多少天: 

    <?php 
    $startdate=strtotime("2015-9-5"); 
    $enddate=strtotime("2015-9-18"); //上面的php时间日期函数已经把日期变成了时间戳,就是变成了秒。这样只要让两数值相减,然后把秒变成天就可以了,比较的简单,如下: 
    $days=round(($enddate-$startdate)/3600/24) ; 
    echo $days; //days为得到的天数; 
    ?>
    

    第二种 孩子的成才

     <? 
    date_default_timezone_set('Asia/Shanghai'); 
    //以上一句为设置时区,其实不设也行,但是zde debug的时候会有提示,说什么不安全的函数…添上吧。 
     
    echo date('Y-m-d H:i:s').' 今天是'.date('Y').'年的第'.date('W').'周'; 
     
    $stime='2005-11-03 10:08'; 
    echo "<br/><br/>***自出生(<font color=blue>$stime</font>)以来…:<br/><br/>"; 
    echo "今天是第<font color=red><b>".Lnbsp(daysofnow($stime),3)."</b></font>天<br/>"; 
    echo "今天是第<font color=red><b>".Lnbsp(weeksofnow($stime),3)."</b></font>周<br/>"; 
    echo "今天是第<font color=red><b>".Lnbsp(monthsofnow($stime),3)."</b></font>个月<br/>"; 
    echo "今天是第<font color=red><b>".Lnbsp(yearsofnow($stime),3)."</b></font>年<br/>"; 
    /* 
    $output=sprintf(" 今天是第<font color=red><b>%03d</b></font>天<br/>今天是第< font color=red><b>%03d</b></font>周<br/>今天是第< font color=red><b>%03d</b></font>个月<br/>今天是第< font color=red><b>%03d</b></font>年<br/& gt;",daysofnow($stime),weeksofnow($stime),monthsofnow($stime),yearsofnow($stime)); 
    echo $output; 
    */ 
     
    function weeksofnow($stime) 
    { 
     $ftime=strtotime($stime); 
     $fweeks=date('w',$ftime); 
     if ($fweeks==0) $fweeks=7; 
     $nweeks=date('w'); 
     if ($nweeks==0) $nweeks=7; 
     $ftemp=strtotime(date('Y-m-d 00:00:00',$ftime))-$fweeks*60*60*24; 
     $ntemp=strtotime(date('Y-m-d 00:00:00',time()))+(7-$nweeks)*60*60*24; 
     //echo date('w',$ftemp)."<br/>....<br/>".date('w',$ntemp)."<br/>"; 
     return ($ntemp-$ftemp)/60/60/24/7; 
    } 
     
    function daysofnow($stime) 
    { 
     $ftime=strtotime($stime); 
     return ceil(abs((time()-$ftime)/(60*60*24))); 
    } 
     
    function monthsofnow($stime) 
    { 
     $ftime=strtotime($stime); 
     $fmonth=date('m',$ftime); 
     $fyear=date('Y',$ftime); 
     $nmonth=date('m'); 
     $nyear=date('Y'); 
     $result=($nyear-$fyear)*12+$nmonth-$fmonth+1; 
     return $result; 
    } 
     
    function yearsofnow($stime) 
    { 
     $ftime=strtotime($stime); 
     $fyear=date('Y',$ftime); 
     $nyear=date('Y'); 
     return $nyear-$fyear+1; 
    } 
     
    // 下面的函数只是加空格用的,不是核心内容,只为美观 
    function Lnbsp($data,$num) 
    { 
     $result=trim($data); 
     for($i=$num;$i>=strlen($data);$i--) { 
     $result=' '.$result; 
     } 
     return $result; 
    } 
    ?>
    

    第三种 情况:次日,当月和新岁的日期,就足以用以下的代码:

    $tomorrow = date('Y-m-d',mktime (0,0,0,date("m"),date("d")+1,date("Y"))); 
    $nextmonth = date('Y-m',mktime (0,0,0,date("m")+1,date("d")+1,date("Y"))); 
    $nextyear = date('Y',mktime (0,0,0,date("m"),date("d"),date("Y")+1)); 
     
    echo $tomorrow.'<br/>'; 
    echo $nextmonth.'<br/>'; 
    echo $nextyear.'<br/>';
    

    第各样情景:行事时间(刨除假期) 

    <? 
    $startDate="2001-12-12"; 
    $endDate="2002-11-1"; 
     
    $holidayArr=array("05-01","05-02","10-01","10-01","10-02","10-03","10-04","10-05","01-26","01-27","01-28","01-29"); 
     //假期日期数组,比方国庆,五一,春节等 
    $endWeek=2; 
     //周末是否双休.双休为2,仅仅星期天休息为1,没有休息为0 
     
    $beginUX=strtotime($startDate); 
    $endUX=strtotime($endDate); 
     
    for($n=$beginUX;$n<=$endUX;$n=$n+86400){ 
     $week=date("w",$n); 
     $MonDay=date("m-d",$n); 
     if($endWeek){//去处周末休息 
     if($endWeek==2){ 
     if($week==0||$week==6) continue; 
     } 
     if($endWeek==1){ 
     if($week==0) continue; 
     } 
     } 
     if(in_array($MonDay,$holidayArr)) continue; 
     $totalHour+=10;//每天工作10小时 
    } 
    echo "开始日期:$startDate<BR>"; 
    echo "结束日期:$endDate<BR>"; 
    echo "共花了".$totalHour."小时"; 
    ?>
    

     
     第三种境况:给出秒算小时

    <?php 
    function transform($sec){ 
     
     $output = ''; 
     
     $hours = floor($sec / 3600); 
     $remainSeconds = $sec % 3600; 
     
     $minutes = floor($remainSeconds / 60); 
     $seconds = $sec - $hours * 3600 - $minutes * 60; 
     
     if($sec >= 3600){ 
     $output .= $hours.' h / '; 
     $output .= $minutes.' m / '; 
     } 
     
     if($sec >= 60 && $sec < 3600){ 
     $output .= $minutes.' m / '; 
     } 
     
     return $output .= $seconds.' s '; 
    } 
     
    echo transform(3231803); 
     
    ?>
    

    以上就是为大家提供的php日期时间运算全体实例,希望对我们的上学抱有助于。

    本文由威尼斯官方网站发布于威尼斯正规官网,转载请注明出处:mktime(卡塔尔国 函数重返贰个日期的 Unix 时间戳

    关键词:

上一篇:她俩的完结原理都以相像的

下一篇:没有了