PHP DateTime đặt thời gian

PHP5 >= 5. 2. 0, PHP7, PHP8

Ngày giờ. setTime - Đặt thời gian

Ngày giờ. setTime( int$hour, int$minute, [int$second = 0], [int$microsecond = 0] ). ngày giờ công khai

phong cách thủ tục

DateTimedate_time_set DateTimeobject inthour intminute intsecond0 intmicrosecond0

vật

chỉ kiểu thủ tục. Một đối tượng DateTime được trả về bởi date_create. Hàm sửa đổi đối tượng này

giờ

Giờ của thời gian

phút

Phút của thời gian

thứ hai

Lần thứ hai

phần triệu giây

Micro giây của thời gian

Trả về đối tượng DateTime cho chuỗi phương thức hoặc sai khi thất bại

Phiên bảnMô tả7. 1. 0Tham số micro giây đã được thêm vào

Ví dụ về Ngày giờ. cài đặt thời gian

Hiển thị tất cả các ví dụ cho DateTime. cài đặt thời gian

Made a different fixed version using the month not the day

function modifyMonth(DateTime $date, string $modificator): DateTime {
    $destMonth = $date->format('m') + $date->format('Y') * 12 + ($modificator);
    $date->modify("$modificator months");
    while ($date->format('m') + $date->format('Y') * 12 > $destMonth)
        $date->modify('-1 day');
    return $date;
}
?>

Testing :

$dates = [
    ['2020/02/29', '+1', '2020/03/29'],
    ['2020/02/29 12:34', '-1', '2020/01/29 12:34'],
    ['2020/03/29 01:01', '+1', '2020/04/29 01:01'],
    ['2020/03/29', '-1', '2020/02/29'],
    ['2020/03/30', '+1', '2020/04/30'],
    ['2020/03/30 23:58', '-1', '2020/02/29 23:58'],
    ['2020/03/31', '+1', '2020/04/30'],
    ['2020/03/31', '-1', '2020/02/29'],
    ['2020/03/31', '+2', '2020/05/31'],
    ['2020/03/31 00:01', '-2', '2020/01/31 00:01'],
    ['2020/03/01', '+1', '2020/04/01'],
    ['2020/03/01', '-1', '2020/02/01'],
    ['2020/02/01', '+1', '2020/03/01'],
    ['2020/02/01', '-1', '2020/01/01'],
    ['2020/04/01', '+1', '2020/05/01'],
    ['2020/04/01 22:22', '-1', '2020/03/01 22:22'],
    ['2020/12/31', '+2', '2021/02/28'],
    ['2020/01/31', '-2', '2019/11/30'],
];

foreach ($dates as $date) {
    $test = new DateTime($date[0]);
    modifyMonth($test, $date[1]);
    if ($test != new DateTime($date[2]))
        echo $date[0] . " " . $date[1] . " != " . $test->format('c') . "\n";
}
?>

Testing prints no error

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

Ví dụ

echo "Hôm nay là ". ngày("Y/m/d"). "
";
echo "Hôm nay là ". ngày ("Y. m. d"). "
";
echo "Hôm nay là ". ngày ("Y-m-d"). "
";
echo "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

Ví dụ

date_default_timezone_set("America/New_York");
echo "The time is ". 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()

Ví 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 function modifyMonth(DateTime $date, string $modificator): DateTime {
    $destMonth = $date->format('m') + $date->format('Y') * 12 + ($modificator);
    $date->modify("$modificator months");
    while ($date->format('m') + $date->format('Y') * 12 > $destMonth)
        $date->modify('-1 day');
    return $date;
}
?>
0 đượ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 để đặt ngày và giờ trong PHP?

Hàm PHP date() được sử dụng để định dạng ngày và/hoặc thời gian. .
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

Làm cách nào để đặt định dạng thời gian trong PHP?

Thay đổi ngày giờ sang định dạng khác .
$date = "13/06/2019 5. 35 giờ chiều";
// chuyển đổi ngày giờ thành giây
$sec = strtotime($date);
// chuyển đổi giây thành một định dạng cụ thể
$newdate = date ("Y/d/m H. tôi", $ giây);
// Nối giây với thời gian
$ngày mới = $ngày mới. ". 00";

Làm cách nào để thay đổi thời gian hiện tại trong PHP?

Trả lời. Sử dụng Hàm date() trong PHP . i. s') , ngày('d/m/y H. i. s') , v.v.

Làm cách nào để thêm 1 năm cho đến nay trong PHP?

$futureDate=date('Y-m-d', strtotime('+one year', $startDate));