成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

PHP獲取特殊時間戳的方法整理

瀏覽:247日期:2022-06-06 18:52:38
目錄
  • 問題描述
  • 解決方案
  • 今天時間戳與日期
    • 時間戳
    • 日期格式
  • 昨天時間戳與日期
    • 日期格式
  • 本周時間戳與日期
    • 時間戳
    • 日期格式
  • 本月時間戳和日期
    • 時間戳
    • 日期格式
  • 本季度時間戳和日期
    • 時間戳
    • 日期格式
  • 當前年時間戳和日期
    • 時間戳
    • 日期格式
  • strtotime函數獲取描述對應時間
    • 明天當前時間
    • 昨天當前時間
    • 下個星期當前時間
    • 上個星期當前時間
    • 下星期幾當前時間
    • 上星期幾當前時間
    • 時間戳轉日期格式
    • 日期格式轉時間戳
    • 獲取特定時間戳函數
  • 寫在最后

    問題描述

    時間在我們日常的代碼編寫中會是經常出現的篩選或排序條件,尤其是一些特殊時間節點的時間顯得尤為突出,例如昨天,當前日期,當前月份,當前季度,以及當前年份的開始以及結束的時間戳,今天對部分相對簡便的方法進行了部分整理。

    解決方案

    話不多說,稍微進行分類,貼代碼。

    今天時間戳與日期

    時間戳

    當前天的時間戳直接使用當前時間格式,指定起始以及結束時間來實現快速拿到時間戳的效果。

     $startTime = strtotime(date("Y-m-d")."00:00:00");
     $overTime = strtotime(date("Y-m-d")."23:59:59");
    

    日期格式

    相應的,咱們可以直接字符串拼接實現日期格式的顯示。

    //弱類型語言,直接拼接字符串
     $startDate=date("Y-m-d")." 00:00:00";
     $overDate=date("Y-m-d")." 00:00:00";
    

    昨天時間戳與日期

    時間戳

     $startTime = mktime(0,0,0,date("m"),date("d")-1,date("Y"));
     $overTime = mktime(0,0,0,date("m"),date("d"),date("Y"))-1;
    

    日期格式

    方法一: 根據時間戳轉日期格式

    //根據上面的時間戳進行格式轉換
     $startDate=date("Y-m-d H:i:s",$startTime);
     $overDate =date("Y-m-d H:i:s",$overTime);
    

    新想法:根據首先獲取當前天日期,然后使用date函數進行時間格式轉換

    //獲取當前日期的天數的數值減一之后就是昨天啦
     $time=date("d")-1;
     $startDate=date("Y-m-".$time." 00:00:00",time());
     $overDate=date("Y-m-".$time." 23:59:59",time());
    

    但是在月初時會出現日期為0的異常,除了進行判斷,不知道有沒有其他簡便的方法可以解決,不然還是時間戳轉日期格式比較簡便,希望有簡單解決辦法的大佬給點新想法。

    本周時間戳與日期

    時間戳

    date( )函數中 date(‘w’) 可以獲取今天是本周第幾天,通過簡單處理就可以得到本周的起始以及結束時間。

    這種思路和方法可以推廣到上周的起始和結束時間。

    方法一:

    //本周開始時間戳
    $startTime = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("y"));
    //本周結束時間戳
    $overTime = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("y"));
    

    方法二:

     $nowDate = date("Y-m-d");
     $week = date("w",strtotime($nowDate));
     $startTime = strtotime("$nowDate -".($week ? $week - 1 : 6)." days");//本周第一天
     $overTime = $start_time + 86400*7 -1; //本周最后一天
    

    日期格式

    使用日期格式函數轉換時間戳,也可以用上面的方法進行date()函數中格式,進行轉換。

    //本周開始時間戳
    $startTime = date("Y-m-d H:i:s",mktime(0,0,0,date("m"),date("d")-date("w")+1,date("y")));
    //本周結束時間戳
    $overTime = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("y")));
    

    本月時間戳和日期

    時間戳

    //本月起始時間時間戳
    $startTime =mktime(0,0,0,date("m"),1,date("Y"));  
    //本月結束時間時間戳
    $overTime =mktime(23,59,59,date("m"),date("t"),date("Y")); 
    

    日期格式

    使用date( )函數進行時間戳轉換日期格式。

    //本月起始時間日期格式
    $startTime = date("Y-m-d H:i:s",mktime(0,0,0,date("m"),1,date("Y")));  
    //本月結束時間日期格式
    $overTime = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y"))); 
    

    本季度時間戳和日期

    時間戳

     //獲取當前季度
    $season = ceil((date("m"))/3);
     //當前季度開始時間戳
    $startTime = mktime(00,00,00,$season*2+1,1,date("Y"));
     //獲取當前季度結束時間戳
    $overTime = mktime(23,59,59,$season*3,date("t",mktime(0, 0 , 0,$season*3,1,date("Y"))),date("Y"));
    

    日期格式

    把上面的時間戳轉換為日期格式

    date("Y-m-d",$startTime)
    date("Y-m-d",$overTime)
    

    當前年時間戳和日期

    時間戳

    //本年開始  
    $startTime  = strtotime(date("Y",time())."-1"."-1"); 
    //本年結束
    $overTime  = strtotime(date("Y",time())."-12"."-31");  
    

    日期格式

    //本年開始  
    $startTime  = date("Y-m-d H:i:s",strtotime(date("Y",time())."-1"."-1"));
    //本年結束
    $overTime  =  date("Y-m-d H:i:s",strtotime(date("Y",time())."-12"."-31"));  
    

    strtotime函數獲取描述對應時間

    明天當前時間

    strtotime("+1 day")//時間戳
    
    date("Y-m-d H:i:s",strtotime("+1 day"))//日期格式
    

    昨天當前時間

    strtotime("-1 day")//時間戳
    
    date("Y-m-d H:i:s",strtotime("-1 day"))//日期格式
    

    下個星期當前時間

    strtotime("+1 week")//時間戳
    
    date("Y-m-d H:i:s",strtotime("+1 week"))//日期格式
    

    上個星期當前時間

    strtotime("-1 week")//時間戳
    
    date("Y-m-d H:i:s",strtotime("-1 week"))//日期格式
    

    下星期幾當前時間

    strtotime("next Thursday")//時間戳
    
    date("Y-m-d H:i:s",strtotime("next Thursday"))//日期格式
    

    上星期幾當前時間

    strtotime("last Thursday")//時間戳
    
    date("Y-m-d H:i:s",strtotime("last Thursday"))//日期格式
    

    時間戳轉日期格式

    $timestamp =1664170375;//當前時間戳
    date("Y-m-d H:i:s",$timestamp);//轉換為日期格式
    

    日期格式轉時間戳

    $time = "2022-09-26 23:31:59";//時間格式參數
    strtotime($time);//轉換為時間戳
    

    獲取特定時間戳函數

    /**特定時間戳函數
     * @param $targetTime
     */
    function gettimestamp($targetTime){
        switch ($targetTime){
    case "today"://今天
        $timeamp["start"] = strtotime(date("Y-m-d"));
        $timeamp["over"] = strtotime(date("Y-m-d",strtotime("+1 day")));
        break;
    case "yesterday"://昨天
        $timeamp["start"] = strtotime(date("Y-m-d",strtotime("-1 day")));
        $timeamp["over"] = strtotime(date("Y-m-d"));
        break;
    case "beforyesterday"://前天
        $timeamp["start"] = strtotime(date("Y-m-d",strtotime("-2 day")));
        $timeamp["over"] = strtotime(date("Y-m-d",strtotime("-1 day")));
        break;
    case "beforweek"://本周
        $timeamp["start"] = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))));
        $timeamp["over"] = strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))));
        break;
    case "nowmonth"://本月
        $timeamp["start"] = strtotime(date("Y-m-01"));
        $timeamp["over"] = strtotime(date("Y-m-d",strtotime("+1 day")));
        break;
    case "permonth"://上月
        $timeamp["start"] = strtotime(date("Y-m-01",strtotime("-1 month")));
        $timeamp["over"] = strtotime(date("Y-m-01"));
        break;
    case "preweek"://上周 注意我們是從周一開始算
        $timeamp["start"] = strtotime(date("Y-m-d",strtotime("-2 week Monday")));
        $timeamp["over"] = strtotime(date("Y-m-d",strtotime("-1 week Monday +1 day")));
        break;
    case "nowweek"://本周
        $timeamp["start"] = strtotime(date("Y-m-d",strtotime("-1 week Monday")));
        $timeamp["over"] = strtotime(date("Y-m-d",strtotime("+1 day")));
        break;
    case "preday"://30
        $timeamp["start"] = strtotime(date("Y-m-d"),strtotime($param." day"));
        $timeamp["end"] = strtotime(date("Y-m-d"));
        break;
    case "nextday"://30
        $timeamp["start"] = strtotime(date("Y-m-d"));
        $timeamp["over"] = strtotime(date("Y-m-d"),strtotime($param." day"));
        break;
    case "preyear"://去年
        $timeamp["start"] = strtotime(date("Y-01-01",strtotime("-1 year")));
        $timeamp["over"] = strtotime(date("Y-12-31",strtotime("-1 year")));
        break;
    case "nowyear"://今年
        $timeamp["start"] = strtotime(date("Y-01-01"));
        $timeamp["over"] = strtotime(date("Y-m-d",strtotime("+1 day")));
        break;
    case "quarter"://季度
        $quarter = ceil((date("m"))/3);
        $timeamp["start"] = mktime(0, 0, 0,$quarter*3-2,1,date("Y"));
        $timeamp["over"] = mktime(0, 0, 0,$quarter*3+1,1,date("Y"));
        break;
    default:
        $timeamp["start"] = strtotime(date("Y-m-d"));
        $timeamp["over"] = strtotime(date("Y-m-d",strtotime("+1 day")));
        break;
        }
        return $timeamp;
    }

    寫在最后

    小發現:在進行測試的時候發現了 date()函數比較有意思的地方,可以直接拼接結果,當你把y-m-d h:i:s中的一部分寫死后仍然是可以執行的,結果就是你寫死的數值,后面有機會深入研究下底層代碼,好像是在C語言中,結構體來實現日期以及時間戳的格式,傳參是進行了判斷,所以可以達到不同形式的顯示。strtotime() 函數也很巧妙,牛哇牛哇

    到此這篇關于PHP獲取特殊時間戳的方法整理的文章就介紹到這了,更多相關PHP獲取特殊時間戳內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: PHP
    成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
    色哟哟一区二区| 国内外成人免费视频| 国产真实精品久久二三区| 精品国产一区二区亚洲人成毛片| 伊人久久亚洲热| 国产成人精品三级麻豆| 亚洲永久精品国产| 在线观看区一区二| 欧美fxxxxxx另类| 久久激情五月婷婷| |精品福利一区二区三区| 欧美顶级少妇做爰| 蜜桃久久av| 欧美日韩在线高清| 久久91精品国产91久久小草| 欧美韩国日本一区| 精品1区2区3区| 在线精品一区| caoporn国产一区二区| 日本女优在线视频一区二区| 国产精品女上位| 制服丝袜激情欧洲亚洲| 亚洲精品免费观看| 91在线观看成人| 国产一区二区三区香蕉| 天堂久久一区二区三区| 自拍偷拍亚洲欧美日韩| 精品久久久久久久久久久久久久久久久 | 午夜视频久久久| 精品一区二区成人精品| 亚洲不卡av一区二区三区| 日韩理论在线观看| 欧美激情资源网| 久久久久高清精品| 精品国产免费视频| 欧美电影免费观看高清完整版 | 国产亚洲精品aa| 欧美日韩精品一区二区三区蜜桃 | 国产三级精品视频| 久久综合资源网| 欧美老肥妇做.爰bbww| 欧美亚洲日本国产| 色94色欧美sute亚洲线路一久| 噜噜噜91成人网| 色偷偷88欧美精品久久久| 免费试看一区| 欧美专区在线观看一区| 免费一区二区三区| 亚洲欧洲午夜| 国产一区二区三区奇米久涩 | 国产欧美日韩综合精品一区二区| 欧美不卡123| 亚洲精品一区二区三区精华液| 日韩视频一区二区| 欧美xxxx在线观看| 久久亚洲私人国产精品va媚药| 91精品国产高清一区二区三区蜜臀| 91官网在线观看| 91精品国产综合久久香蕉麻豆| 制服丝袜日韩国产| 欧美不卡一区二区| 国产欧美日本一区二区三区| 国产精品免费人成网站| 日韩一区在线看| 亚洲精品国产第一综合99久久 | 久久国产人妖系列| 国产一区二区成人久久免费影院 | 欧美久久久久久久久久| 精品欧美黑人一区二区三区| 中文字幕av资源一区| 一区二区三区久久| 天堂va蜜桃一区二区三区| 麻豆精品国产91久久久久久| 国产成人av电影在线观看| 欧美一区2区三区4区公司二百| 国产精品二区在线观看| 亚洲尤物精选| 欧美乱妇20p| 久久网这里都是精品| 综合久久久久久久| 久久精工是国产品牌吗| 欧美va天堂在线| 国产伦精品一区二区三区| 欧美精品九九99久久| 美女mm1313爽爽久久久蜜臀| 99国产精品久久| 国自产拍偷拍福利精品免费一 | 欧美天堂亚洲电影院在线播放| 精品成人a区在线观看| 夜夜操天天操亚洲| 国产成人av电影在线观看| 在线精品亚洲一区二区| 欧美日韩不卡一区| 亚洲视频一区二区在线观看| 国产米奇在线777精品观看| 91亚洲男人天堂| 蜜桃久久av| 久久精品免费在线观看| 亚洲影视在线播放| 国产麻豆精品在线观看| 亚洲精选在线| 2017欧美狠狠色| 日韩福利电影在线观看| 欧美日韩国产三区| 欧美片网站yy| 亚洲在线视频免费观看| 成人综合婷婷国产精品久久蜜臀 | 91精品国产91久久久久久最新毛片| 中文字幕一区二区三区不卡| 国产真实精品久久二三区| 99精品国产在热久久| 久久久不卡影院| 日日欢夜夜爽一区| 亚洲午夜精品一区二区| 欧美一区二区三区在线观看| 午夜精品国产更新| 激情文学一区| www国产成人免费观看视频 深夜成人网| 一区二区三区四区精品在线视频| 99免费精品视频| 欧美少妇bbb| 亚洲免费在线视频一区 二区| 国产精品中文字幕欧美| 色猫猫国产区一区二在线视频| 国产精品久久久久9999吃药| 国产高清久久久久| 欧美午夜一区二区| 亚洲一区二区三区视频在线| 欧美日韩国产高清视频| 精品国精品自拍自在线| 国产精品白丝av| 欧美日韩一区二区欧美激情 | 亚洲激情网址| 欧美激情一区二区三区蜜桃视频| 大胆欧美人体老妇| 欧美视频完全免费看| 日本欧美一区二区三区乱码| 国产精品乱码| 亚洲一区二区三区激情| 亚洲一区精彩视频| 亚洲乱码日产精品bd| 国产一区清纯| 中文字幕亚洲在| 亚洲视频精品| 亚洲欧洲精品成人久久奇米网| 欧美日韩视频在线一区二区观看视频| 亚洲国产精华液网站w| 欧美日韩一区二区视频在线 | 国产suv精品一区二区6| 51久久夜色精品国产麻豆| 韩国av一区二区三区在线观看| 欧美视频在线观看一区| 麻豆精品一区二区综合av| 在线免费观看不卡av| 久久成人免费日本黄色| 欧美精品久久久久久久多人混战 | 国产.欧美.日韩| 久久色成人在线| 欧美日韩四区| 亚洲成人资源在线| 欧洲激情一区二区| 福利一区在线观看| 国产精品国产自产拍高清av| 国产欧美日韩综合一区在线观看| 亚洲成人黄色小说| 欧美在线一二三四区| 国产综合色精品一区二区三区| 精品国产免费一区二区三区四区 | 亚洲欧美清纯在线制服| 人禽交欧美网站| 欧美高清视频www夜色资源网| 成人一区二区三区| 国产精品青草综合久久久久99| 国产美女诱惑一区二区| 美国欧美日韩国产在线播放| 欧美zozo另类异族| 国产日韩精品一区观看 | 久久激情视频| 成人影视亚洲图片在线| 亚洲色图欧洲色图| 欧美写真视频网站| av中文字幕亚洲| 亚洲精选在线视频| 欧美区在线观看| 狠狠色丁香久久综合频道| 秋霞电影网一区二区| 精品国产乱码久久久久久久| 国产区二精品视| 国产一级精品在线| 亚洲天堂福利av| 欧美人伦禁忌dvd放荡欲情| 亚洲国产日韩在线| 免费观看一级特黄欧美大片| 欧美激情在线一区二区三区| 欧美性色aⅴ视频一区日韩精品| 91免费视频网| 国产一区二区三区在线观看免费视频| |精品福利一区二区三区| 91精品一区二区三区久久久久久| 国产亚洲欧美另类一区二区三区|