Thêm thời gian vào DateTime php

What you can do with this function/method is a great example of the philosophy: "just because you can do it doesn't mean you should". I'm talking about two issues: (1) the number of days in the month which varies from months 1-12 as well as for month 2 which could be leap year (or not); and then issue (2): what if there is the need to specify a large quantity of an interval such that it needs to be re-characterized into broader-scoped intervals (i.e. 184 seconds ==> 3 minutes-4 seconds). Examples in notes elsewhere in the docs for this function illustrate both issues and their undesired effects so I won't focus on them further. But how did I decide to handle? I've gone with four "public" functions and a single "private" function, and without giving you a bunch of code to study, here are their summaries...

1. function adjustYear(int $yearsAdj){ //you can pass in +/- value and I adjust year value by that value but then I also call PHP's 'cal_days_in_month' function to ensure the day number I have in my date does not exceed days in the month for the new year/month combo--if it does, I adjust the day value downward.

2. function adjustMonth(int $monthsAdj){ //same notes as above apply; but also, I allow any number to be passed in for $monthsAdj. I use the 'int' function (int($monthsAdj/12)) and modulus % operator to determine how to adjust both year and month. And again, I use 'cal_days_in_month' function to tweak the day number as needed.

3. function addTime(int $days, int $hours, int $minutes, int $seconds){
// I use date_add and create a DateInterval object from the corresponding string spec (created from the args passed to this function). Note that months and years are excluded due to the bad side-effects already mentioned elsewhere.

4. function subtractTime(int $days, int $hours, int $minutes, int $seconds){
//notes for "addTime" also apply to this function but note that I like separate add and subtract functions because setting the DateInterval property flag to indicate add/subtract is not as intuitive for future coding.

5. function recharacterizeIntervals(int $days, int $hours, int $minutes, int $seconds){ // I convert excessively large quantities of any one interval into the next largest interval using the 'int' function and modulus (%) operator. I then use the result of this function when creating the string interval specification that gets passed when generating the DateInterval object for calling the date_add function (or object-method equivalent).

**Results/goals...
--any number of days/hours/minutes/seconds can be passed in to add/subtractTime and all of "Y/M/D/H/M/S" values get adjusted as you would expect.
--using adjustYear/Month lets you pass +/- values and only "Y/M" values get modified without having undesirable effects on day values.
--a call to the "recharacterize" function helps ensure proper and desired values are in the intervals prior to calling date_add to let it do its work.

Dấu thời gian là một chuỗi các ký tự, biểu thị ngày và/hoặc thời gian xảy ra một sự kiện nhất định


Kiếm một buổi hẹn hò

Tham số định dạng bắt buộc của hàm date() chỉ định cách định dạng ngày (hoặc thời gian)

Dưới đây là một số ký tự thường được sử dụng cho ngày tháng

  • d - Thể hiện ngày trong tháng (01 đến 31)
  • m - Đại diện cho một tháng (01 đến 12)
  • Y - Đại diện cho một năm (bằng bốn chữ số)
  • l (chữ thường 'L') - Đại diện cho ngày trong tuần

Các ký tự khác, như "/", ". ", hoặc "-" cũng có thể được chèn vào giữa các ký tự để thêm định dạng bổ sung

Ví dụ bên dưới định dạng ngày hôm nay theo ba cách khác nhau

Thí dụ

tiếng vang "Hôm nay là". ngày("Y/m/d"). "
“;
tiếng vang "Hôm nay là". ngày ("Y. m. d"). "
“;
tiếng vang "Hôm nay là". ngày ("Y-m-d"). "
“;
tiếng vang "Hôm nay là". ngày ("l");
?>

Tự mình thử »



Mẹo PHP - Năm bản quyền tự động

Sử dụng hàm date() để tự động cập nhật năm bản quyền trên website của bạn


có được một thời gian

Dưới đây là một số ký tự thường được sử dụng cho thời gian

  • H - định dạng 24 giờ của một giờ (00 đến 23)
  • h - Định dạng 12 giờ của một giờ với các số 0 đứng đầu (01 đến 12)
  • i - Phút có số 0 đứng đầu (00 đến 59)
  • s - Giây có số 0 đứng đầu (00 đến 59)
  • a - Chữ thường Ante meridiem và Post meridiem (sáng hoặc chiều)

Ví dụ dưới đây xuất thời gian hiện tại ở định dạng đã chỉ định

Lưu ý rằng hàm PHP date() sẽ trả về ngày/giờ hiện tại của máy chủ


Nhận múi giờ của bạn

Nếu thời gian bạn nhận được mã không chính xác, có thể là do máy chủ của bạn ở một quốc gia khác hoặc được thiết lập cho một múi giờ khác

Vì vậy, nếu bạn cần thời gian chính xác theo một địa điểm cụ thể, bạn có thể đặt múi giờ bạn muốn sử dụng

Ví dụ bên dưới đặt múi giờ thành "America/New_York", sau đó xuất thời gian hiện tại theo định dạng đã chỉ định

Thí dụ

date_default_timezone_set("Mỹ/New_York");
tiếng vang "Thời gian là". ngày ("h. i. sa");
?>

Tự mình thử »


Tạo một ngày Với mktime()

Tham số dấu thời gian tùy chọn trong hàm date() chỉ định dấu thời gian. Nếu bỏ qua, ngày và giờ hiện tại sẽ được sử dụng (như trong các ví dụ trên)

Hàm PHP mktime() trả về dấu thời gian Unix cho một ngày. Dấu thời gian Unix chứa số giây giữa Kỷ nguyên Unix (ngày 1 tháng 1 năm 1970 00. 00. 00 GMT) và thời gian được chỉ định

cú pháp

mktime(giờ, phút, giây, tháng, ngày, năm)

Ví dụ bên dưới tạo ngày và giờ bằng hàm date() từ một số tham số trong hàm mktime()

Thí dụ

$d=mktime(11, 14, 54, 8, 12, 2014);
echo "Ngày tạo là ". ngày ("Y-m-d h. i. sa", $d);
?>

Tự mình thử »


Tạo một ngày từ một chuỗi với strtotime()

Hàm PHP strtotime() được sử dụng để chuyển đổi chuỗi ngày có thể đọc được của con người thành dấu thời gian Unix (số giây kể từ ngày 1 tháng 1 năm 1970 00. 00. 00 giờ GMT)

Làm cách nào để thêm giờ vào DateTime trong PHP?

The Ngày giờ. Hàm add() là một hàm có sẵn trong PHP, được sử dụng để thêm một lượng thời gian (ngày, tháng, năm, giờ, phút và giây) vào đối tượng DateTime đã cho.

Làm cách nào để thêm thời gian vào một ngày trong PHP?

php $date=strtotime("tomorrow"); echo date("Y-m-d h:i:sa", $date) . "
"; $date=strtotime("next Sunday"); echo date("Y-m-d h:i:sa", $date) . "
"; $date=strtotime("+3 Months"); echo date("Y-m-d h:i:sa", $date) .

Làm cách nào để thêm 30 phút cho đến nay trong PHP?

strtotime("+30 minutes"); (là số nguyên) vào chuỗi đó. date("Ymdhis", strtotime("+30 minutes")); để lấy chuỗi đã định dạng.

Làm cách nào để thêm 3 giờ vào thời gian trong PHP?

Bạn có thể sử dụng hàm strtotime() để thêm thứ gì đó vào dấu thời gian hiện tại. $new_time = date("Y-m-d H. i. s", strtotime('+5 giờ')) .