簡體   English   中英

php 中的時間計算(加 10 小時)?

[英]Time calculation in php (add 10 hours)?

我得到了時間:

$today = time();
$date = date('h:i:s A', strtotime($today));

如果當前時間是“1:00:00 am”,我如何再增加 10 個小時變成 11:00:00 am??

strtotime()返回一個數字,表示以秒為單位的時間。 要增加它,請添加您要添加​​的相應秒數。 10 小時 = 60*60*10 = 36000,所以...

$date = date('h:i:s A', strtotime($today)+36000); // $today is today date

編輯:我假設你在 $today 中有一個字符串時間 - 如果你只是使用當前時間,甚至更簡單:

$date = date('h:i:s A', time()+36000); // time() returns a time in seconds already
$tz = new DateTimeZone('Europe/London');
$date = new DateTime($today, $tz);
$date->modify('+10 hours');
// use $date->format() to outputs the result.

請參閱DateTime 類(PHP 5 >= 5.2.0)

$date = date('h:i:s A', strtotime($today . ' + 10 hours'));

(未經測試)

您可以簡單地使用DateTime類,OOP 樣式。

<?php
$date = new DateTime('1:00:00');
$date->add(new DateInterval('PT10H'));
echo $date->format('H:i:s a'); //"prints" 11:00:00 a.m
$date = date('h:i:s A', strtotime($today . " +10 hours"));

現在顯示的完整代碼和 10 分鍾添加.....

$nowtime = date("Y-m-d H:i:s");
echo $nowtime;
$date = date('Y-m-d H:i:s', strtotime($nowtime . ' + 10 minute'));
echo "<br>".$date;

為了使用strtotime增加或減少時間,您可以在第一個參數中使用相對格式

在您的情況下,將當前時間增加 10 小時:

$date = date('h:i:s A', strtotime('+10 hours'));

如果您需要將更改應用於另一個時間戳,則可以指定第二個參數。

筆記:

不建議將此函數用於數學運算。 在 PHP 5.3 及更高版本中最好使用DateTime::add()和 DateTime::sub(),或者在 PHP 5.2 中使用 DateTime::modify()。

所以,自 PHP 5.3 起推薦的方式

$dt = new DateTime(); // assuming we need to add to the current time
$dt->add(new DateInterval('PT10H'));
$date = $dt->format('h:i:s A');

或使用別名:

$dt = date_create(); // assuming we need to add to the current time
date_add($dt, date_interval_create_from_date_string('10 hours')); 
$date = date_format($dt, 'h:i:s A');

在所有情況下,除非指定時區,否則將使用默認時區。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM