欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          php有操作時(shí)間的方法嗎

          php有操作時(shí)間的方法。php中提供了豐富的日期時(shí)間處理方法:1、date(),格式化本地日期和時(shí)間;2、mktime(),返回日期的時(shí)間戳;3、idate(),格式化本地時(shí)間為整數(shù);4、strtotime(),將時(shí)間字符串轉(zhuǎn)為時(shí)間戳等等。

          php有操作時(shí)間的方法嗎

          本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦

          php有操作時(shí)間的方法。

          在 Web 開發(fā)中對(duì)日期和時(shí)間的使用與處理是必不可少的,例如表單提交的時(shí)間、用戶登錄的時(shí)間、數(shù)據(jù)庫中數(shù)據(jù)的更新和刪除的時(shí)間等。想要記錄這些操作執(zhí)行的時(shí)刻,就需要通過日期和時(shí)間來完成。

          PHP 中為我們提供了豐富的日期時(shí)間處理函數(shù):

          函數(shù) 描述
          checkdate() 驗(yàn)證格利高里日期。
          date_add() 添加日、月、年、時(shí)、分和秒到一個(gè)日期。
          date_create_from_format() 返回一個(gè)根據(jù)指定格式進(jìn)行格式化的新的 DateTime 對(duì)象。
          date_create() 返回一個(gè)新的 DateTime 對(duì)象。
          date_date_set() 設(shè)置一個(gè)新的日期。
          date_default_timezone_get() 返回默認(rèn)時(shí)區(qū),被所有的 Date/Time 函數(shù)使用。
          date_default_timezone_set() 設(shè)置默認(rèn)時(shí)區(qū),被所有的 Date/Time 函數(shù)使用。
          date_diff() 返回兩個(gè)日期間的差值。
          date_format() 返回根據(jù)指定格式進(jìn)行格式化的日期。
          date_get_last_errors() 返回日期字符串中的警告/錯(cuò)誤。
          date_interval_create_from_date_string() 從字符串的相關(guān)部分建立一個(gè) DateInterval。
          date_interval_format() 格式化時(shí)間間隔。
          date_isodate_set() 設(shè)置 ISO 日期。
          date_modify() 修改時(shí)間戳。
          date_offset_get() 返回時(shí)區(qū)偏移。
          date_parse_from_format() 根據(jù)指定的格式返回一個(gè)帶有指定日期的詳細(xì)信息的關(guān)聯(lián)數(shù)組。
          date_parse() 返回一個(gè)帶有指定日期的詳細(xì)信息的關(guān)聯(lián)數(shù)組。
          date_sub() 從指定日期減去日、月、年、時(shí)、分和秒。
          date_sun_info() 返回一個(gè)包含有關(guān)指定日期與地點(diǎn)的日出/日落和黃昏開始/黃昏結(jié)束的信息的數(shù)組。
          date_sunrise() 返回指定日期與地點(diǎn)的日出時(shí)間。
          date_sunset() 返回指定日期與地點(diǎn)的日落時(shí)間。
          date_time_set() 設(shè)置時(shí)間。
          date_timestamp_get() 返回 Unix 時(shí)間戳。
          date_timestamp_set() 設(shè)置基于 Unix 時(shí)間戳的日期和時(shí)間。
          date_timezone_get() 返回給定 DateTime 對(duì)象的時(shí)區(qū)。
          date_timezone_set() 設(shè)置 DateTime 對(duì)象的時(shí)區(qū)。
          date() 格式化本地日期和時(shí)間。
          getdate() 返回某個(gè)時(shí)間戳或者當(dāng)前本地的日期/時(shí)間的日期/時(shí)間信息。
          gettimeofday() 返回當(dāng)前時(shí)間。
          gmdate() 格式化 GMT/UTC 日期和時(shí)間。
          gmmktime() 返回 GMT 日期的 UNIX 時(shí)間戳。
          gmstrftime() 根據(jù)區(qū)域設(shè)置格式化 GMT/UTC 日期和時(shí)間。
          idate() 格式化本地時(shí)間/日期為整數(shù)。
          localtime() 返回本地時(shí)間。
          microtime() 返回當(dāng)前 Unix 時(shí)間戳的微秒數(shù)。
          mktime() 返回一個(gè)日期的 Unix 時(shí)間戳。
          strftime() 根據(jù)區(qū)域設(shè)置格式化本地時(shí)間/日期。
          strptime() 解析由 strftime() 生成的時(shí)間/日期。
          strtotime() 將任何英文文本的日期或時(shí)間描述解析為 Unix 時(shí)間戳。
          time() 返回當(dāng)前時(shí)間的 Unix 時(shí)間戳。
          timezone_abbreviations_list() 返回包含夏令時(shí)、偏移量和時(shí)區(qū)名稱的關(guān)聯(lián)數(shù)組。
          timezone_identifiers_list() 返回帶有所有時(shí)區(qū)標(biāo)識(shí)符的數(shù)值數(shù)組。
          timezone_location_get() 返回指定時(shí)區(qū)的位置信息。
          timezone_name_from_ abbr() 根據(jù)時(shí)區(qū)縮略語返回時(shí)區(qū)名稱。
          timezone_name_get() 返回時(shí)區(qū)的名稱。
          timezone_offset_get() 返回相對(duì)于 GMT 的時(shí)區(qū)偏移。
          timezone_open() 創(chuàng)建一個(gè)新的 DateTimeZone 對(duì)象。
          timezone_transitions_get() 返回時(shí)區(qū)的所有轉(zhuǎn)換。
          timezone_version_get() 返回時(shí)區(qū)數(shù)據(jù)庫的版本。

          下面簡(jiǎn)單介紹一些時(shí)間日期處理方法:

          1、PHP獲取當(dāng)前時(shí)間(5種方式)

          在日期和時(shí)間函數(shù)中,UNIX 時(shí)間戳的獲取非常重要,時(shí)間戳是一個(gè)字符序列,是指格林尼治時(shí)間 1970年 01 月 01 日 00 時(shí) 00 分 00 秒(北京時(shí)間 1970 年 01 月 01 日 08 時(shí) 00 分 00 秒)起至現(xiàn)在的總毫秒數(shù)。下面介紹幾個(gè)獲取當(dāng)前時(shí)間的函數(shù)。

          • gmmktime()

          gmmktime() 函數(shù)可取得 GMT 日期的 UNIX 時(shí)間戳。語法如下:

          int gmmktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )

          該函數(shù)的參數(shù)可以從右到左依次空著,空著的參數(shù)會(huì)被設(shè)為相應(yīng)的當(dāng)前 GMT 值。

          使用示例如下:

          <?php echo gmmktime();  //沒有設(shè)置參數(shù), 則默認(rèn)取得當(dāng)前GMT時(shí)間 echo gmmktime(0,45,3,7,7,2016);  //設(shè)置參數(shù)表示GMT時(shí)間2016年7月7日0點(diǎn)45分3秒 ?>

          執(zhí)行以上程序的打印結(jié)果為:

          1467909956   1467852303
          • mktime()

          mktime() 也可取得一個(gè)日期的 UNIX 時(shí)間戳。語法如下:

          int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )

          該函數(shù)根據(jù)給出的參數(shù)返回 UNIX 時(shí)間戳。時(shí)間戳是一個(gè)長(zhǎng)整數(shù),包含了從 UNIX 紀(jì)元到給定時(shí)間的秒數(shù)。

          和 gmmktime() 函數(shù)一樣,該函數(shù)的參數(shù)也可以從右向左省略,任何省略的參數(shù)會(huì)被設(shè)置成本地日期和時(shí)間的當(dāng)前值。

          使用示例如下:

          <?php echo mktime();  // 沒有設(shè)置參數(shù)則默認(rèn)取得當(dāng)前GMT時(shí)間 echo mktime(0,45,3,7,7,2016);  //設(shè)置參數(shù)表示GMT時(shí)間2016年7月7日0點(diǎn)45分3秒 ?>

          執(zhí)行以上程序的打印結(jié)果為:

          1467910465 1467852303
          • microtime()

          microtime() 可獲得當(dāng)前 UNIX 時(shí)間戳和微秒數(shù)。語法如下:

          mixed microtime ([ bool $get_as_float ] )

          如果設(shè)置 get_as_float 參數(shù)值為 true,microtime() 將返回一個(gè)浮點(diǎn)數(shù);若不帶參數(shù),則返回一個(gè)“msec sec”格式的字符串,其中 sec 是自 UNIX 紀(jì)元起到現(xiàn)在的秒數(shù),msec 是微秒部分。字符串的兩部分都是以秒為單位返回的。

          使用示例如下:

          <?php echo microtime();  //返回 msec sec 格式字符串表示時(shí)間 echo "<br/>"; echo microtime(true);  //返回一個(gè)浮點(diǎn)型字符串表示時(shí)間 ?>

          執(zhí)行以上程序的打印結(jié)果如下:

          0.40474900 1467910862 1467910862.4048
          • time()

          time() 函數(shù)可返回當(dāng)前的 UNIX 時(shí)間戳。語法如下:

          int time ( void )

          time() 函數(shù)的語法比較簡(jiǎn)單,使用示例如下:

          <?php echo time(); ?>

          執(zhí)行以上程序的打印結(jié)果為:

          1467911104
          • getdate()

          getdate() 可取得日期時(shí)間信息。語法如下:

          array getdate ([ int $timestamp = time() ] )

          該函數(shù)返回一個(gè)根據(jù) timestamp 得出的包含有日期信息的關(guān)聯(lián)數(shù)組 array。如果沒有給出時(shí)間戳,則認(rèn)為是當(dāng)前本地時(shí)間(此時(shí)和 time() 函數(shù)取值相同)。

          其返回的關(guān)聯(lián)數(shù)組中的鍵名單元如表所示。

          getdate() 函數(shù)返回關(guān)聯(lián)數(shù)組鍵名
          鍵名 說明 返回值例子
          seconds 秒的數(shù)字表示 0 到 59
          minutes 分鐘的數(shù)字表示 0 到 59
          hours 小時(shí)的數(shù)字表示 0 到 23
          mday 月份中第幾天的數(shù)字表示 1 到 31
          wday 星期中第幾天的數(shù)字表示 0(周日)到6(周六)
          mon 月份的數(shù)字表示 1 到 12
          year 4 位數(shù)字表示的完整年份 比如:1999 或 2019
          yday 一年中第幾天的數(shù)字表示 0 到 365
          weekday 星期幾的完整文本表示 Monday 到 Sunday
          month 月份的完整文本表示,,比如 January 或 April January 到 December
          0 自從 UNIX 紀(jì)元開始至今的秒數(shù),和 time() 的返回值以及用于 date() 的值類似 系統(tǒng)相關(guān),典型值為 -2147483648 ~ 2147483647

          getdate() 函數(shù)的使用示例如下:

          <?php echo "<pre>"; var_dump(getdate()); ?>

          執(zhí)行以上程序的打印結(jié)果如下:

          array(11) {     ["seconds"]=>int(57)     ["minutes"]=>int(18)     ["hours"]=>int(17)     ["mday"]=>int(7)     ["wday"]=>int(4)     ["mon"]=>int(7)     ["year"]=>int(2016)     ["yday"]=>int(188)     ["weekday"]=>string(8) "Thursday"     ["month"]=>string(4) "July"     [0]=>int(1467911937) }

          2、strtotime()與mktime():日期轉(zhuǎn)時(shí)間戳

          • strtotime() 函數(shù)

          使用 strtotime() 函數(shù)可以將任何字符串類型的日期/時(shí)間轉(zhuǎn)換為 UNIX 時(shí)間戳,其語法格式如下:

          strtotime($time [,$now = time()])

          其中 $time 為表示時(shí)間/日期的字符串,例如“2020-01-01”;$now 為可選參數(shù),用來計(jì)算返回值的時(shí)間戳。函數(shù)執(zhí)行成功會(huì)返回指定的字符串,執(zhí)行失敗返回 FALSE。

          另外需要注意的是,如果使用兩位數(shù)字表示年份的話,其中 0 ~ 69 表示 2000 ~ 2069,70 ~ 100 則表示 1970 ~ 2000。

          【示例】使用 strtotime() 函數(shù)獲取指定時(shí)間的時(shí)間戳。

          <?php     echo '當(dāng)前的時(shí)間戳是:'.time().'<br>';     echo '使用“now”獲取當(dāng)前的時(shí)間戳:'.strtotime('now').'<br>';     echo '2000-09-10 的時(shí)間戳是:'.strtotime("10 September 2000").'<br>';     echo '在當(dāng)前的時(shí)間戳上加一天:'.strtotime("+1 day").'<br>';     echo '在當(dāng)前的時(shí)間戳上加一周:'.strtotime("+1 week").'<br>';     echo '在當(dāng)前的時(shí)間戳上加一周兩天四小時(shí)兩分鐘:'.strtotime("+1 week 2 days 4 hours 2 seconds").'<br>';     echo '下一個(gè)周四的時(shí)間戳:'.strtotime("next Thursday").'<br>';     echo '上一個(gè)周一的時(shí)間戳:'.strtotime("last Monday").'<br>'; ?>

          運(yùn)行結(jié)果如下:

          當(dāng)前的時(shí)間戳是:1585273874 使用“now”獲取當(dāng)前的時(shí)間戳:1585273874 2000-09-10 的時(shí)間戳是:968515200 在當(dāng)前的時(shí)間戳上加一天:1585360274 在當(dāng)前的時(shí)間戳上加一周:1585878674 在當(dāng)前的時(shí)間戳上加一周兩天四小時(shí)兩分鐘:1586065876 下一個(gè)周四的時(shí)間戳:1585756800 上一個(gè)周一的時(shí)間戳:1584892800

          注意:根據(jù)具體時(shí)間的變化,程序每次運(yùn)行的結(jié)果略有不同。

          • mktime() 函數(shù)

          除了 strtotime() 函數(shù)外,我們還可以使用 PHP 中的 mktime() 函數(shù)來獲取指定日期的 UNIX 時(shí)間戳,該函數(shù)的語法格式如下:

          mktime ([$hour = date("H") [, $minute = date("i") [, $second = date("s") [, $month = date("n") [, $day = date("j") [, $year = date("Y") [, $is_dst = -1 ]]]]]]])

          參數(shù)說明如下:

          • $hour:表示一天中經(jīng)過的小時(shí)數(shù)。如果 $hour 為負(fù)值,則表示前一天的適當(dāng)時(shí)間;如果 $hour 大于 23,則表示第二天的適當(dāng)時(shí)間。

          • $minute:表示一個(gè)小時(shí)內(nèi)經(jīng)過的分鐘數(shù)。如果 $minute 為負(fù)值,則表示前一小時(shí)適當(dāng)?shù)姆昼姅?shù);如果 $minute 大于 59,則表示下一小時(shí)中的適當(dāng)分鐘數(shù)。

          • $second:表示一分鐘內(nèi)經(jīng)過的秒數(shù)。如果 $second 為負(fù)值,則表示前一分鐘內(nèi)的適當(dāng)秒數(shù);如果 $second 大于59,則表示下一分鐘內(nèi)的適當(dāng)秒數(shù)。

          • $month:表示一年中經(jīng)過的月份數(shù),取值范圍在 1 到 12 之間。如果 $month 小于 1(包括負(fù)值),則表示上一年的適當(dāng)月份;如果 $month 大于 12,則表示下一年的適當(dāng)月份。

          • $day:表示一個(gè)月中經(jīng)過的天數(shù),取值范圍在 1 到 31 之間(取決于具體月份的天數(shù))。如果 $day 小于 1(包括負(fù)值),則表示上個(gè)月的適當(dāng)天數(shù),比如 0 表示上個(gè)月的最后一天,-1 表示上個(gè)月的倒數(shù)第二天等等;如果 $day 大于本月的最大天數(shù),則表示下個(gè)月的適當(dāng)日期。

          • $year:表示具體的年份,可以是兩位或四位數(shù)字,0 ~ 69 對(duì)應(yīng) 2000 ~ 2069 年,70 ~ 100 對(duì)應(yīng) 1970 ~ 2000年。在如今系統(tǒng)中普遍把 time_t 作為一個(gè) 32 位有符號(hào)整數(shù)的情況下,$year 的合法范圍是 1901 到 2038 之間,不過此限制自 PHP5.1.0 起已被克服了。

          • $is_dst:本參數(shù)可以設(shè)為 1,表示正處于夏時(shí)制時(shí)間(DST),0 表示不是夏時(shí)制,或者 -1(默認(rèn)值)表示不知道是否是夏時(shí)制。不過本參數(shù)在 PHP5.1.0 中已被廢棄,并在 PHP7.0.0 中移除。

          提示:mktime() 函數(shù)中的參數(shù)可以從右向左省略,任何省略的參數(shù)會(huì)被設(shè)置成本地日期和時(shí)間的當(dāng)前值。如果省略函數(shù)的所有參數(shù),那么 mktime() 函數(shù)會(huì)和 time() 函數(shù)一樣,返回當(dāng)前的時(shí)間戳。

          【示例】使用 mktime() 函數(shù)獲取指定時(shí)間的時(shí)間戳。

          <?php     $time1 = time();     echo '當(dāng)前的時(shí)間戳是:'.$time1.'<br>';     $time2 = mktime(0, 0, 0, 3, 26, 20);     echo '2020-03-26 00:00:00 的時(shí)間戳是:'.$time2.'<br>';     $time3 = mktime();     echo '省略函數(shù)的所有參數(shù),獲得的時(shí)間戳是:'.$time3.'<br>';     $time4 = mktime(-1, -20, 6, 3, 26, 2020);     echo '2020-03-25 22:40:06 的時(shí)間戳是:'.$time4.'<br>'; ?>

          運(yùn)行結(jié)果如下:

          當(dāng)前的時(shí)間戳是:1585216256 2020-03-26 00:00:00 的時(shí)間戳是:1585152000 省略函數(shù)的所有參數(shù),獲得的時(shí)間戳是:1585216256 2020-03-25 22:40:06 的時(shí)間戳是:1585147206

          推薦學(xué)習(xí):《PHP視頻教程》

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)