Định dạng đã mặc định ["Y-M-D H: I: S"]. Bạn không cần sử dụng createdFromFormat, trừ khi bạn xử lý dữ liệu từ bên thứ 3. Đề xuất của tôi cho mã sẽ như thế này["Y-m-d H:i:s"]. You don't need to use CreateFromFormat, unless you are handle data from 3rd party. My suggestion for the code would be like this
$originaldate = '2019-01-10 17:52:17';
$converted = new DateTime[ $originaldate ]; //prefer like this
//DateTime::createFromFormat["Y-m-d H:i:s", $originaldate]; //after browsing this is recomended
$date6Month = new DateTime[ $originaldate ];
$date1Year = new DateTime[ $originaldate ];
$dateBack = new DateTime[ $originaldate ];
//$date6Month = $date1Year = $dateBack= $converted;
//prefer to use different variable for every date. Not copy
echo "ori:".$converted ->format['Y-m-d H:i:s'] . "\n";
//ori:2019-01-10 17:52:17
##6 month later
$date6Month ->add[new DateInterval['P6M']];
echo "6 month:".$date6Month ->format['Y-m-d H:i:s'] . "\n";
//6 month:2019-07-10 17:52:17
##1 year later
$date1Year ->add[new DateInterval['P1Y']];
echo "1 year:".$date1Year ->format['Y-m-d H:i:s'] . "\n";
//1 year:2020-01-10 17:52:17
//1 year:2020-07-10 17:52:17 [wrong if using copy main parameter]
$date1Year ->add[ DateInterval::createFromDateString['1 Years'] ];
echo "1 year [later]:".$date1Year ->format['Y-m-d H:i:s'] . "\n";
//1 year [later]:2021-01-10 17:52:17
//1 year [later]:2021-07-10 17:52:17 [wrong if using copy main parameter]
Bạn có thể sử dụng DateInterVal :: createdFromDatestring cho mã có thể đọc được hơn là sử dụng định dạng. Đề xuất của tôi là tách biến không sao chép khỏi nguồn gốc.
Định dạng bạn có thể sử dụng trên DateInterval
Bắt đầu "P" khi chứa ngày, tháng và năm
Y | Năm | 1 năm |
M | Tháng | 3M |
D | Ngày | 5d |
Ví dụ: P1Y3M5DP1Y3M5D
Luôn bắt đầu "P" trước "T" nếu không chứa ngày, tháng và năm [PT1H]. Nếu không bắt đầu nó với "T"
Y | Năm | 1 năm |
M | Tháng | 3M |
D | Ngày | 5d |
Ví dụ: P1Y3M5D | Luôn bắt đầu "P" trước "T" nếu không chứa ngày, tháng và năm [PT1H]. Nếu không bắt đầu nó với "T" | H |
GIỜPT1H3M5S
1h
PHÚT
date_default_timezone_set['America/Phoenix'];
//is important to add when your time are detail
$date = new DateTime['2000-01-01'];
$date->add[new DateInterval['P7Y5M4DT4H3M2S']];
echo $date->format['Y-m-d H:i:s'] . "\n";
//2007-06-05 04:03:02
$originaldate = 2019-01-10 17:52:17
$dateBack = $dateBack2 = new DateTime[ $originaldate ];
//if you want to substract the value you can use this
$dateBack ->sub[new DateInterval['P1Y2M3DT1H4M1S']];
echo $dateBack ->format['Y-m-d H:i:s'] . "\n";
//output: 2019-05-07 16:48:16
$dateBack2=$converted;
$formatDay='P1Y3M6D'; //only year, month and day
$formatTime='T1H3M6S'; //only hour, minutes and seconds
$dateBack2 ->sub[new DateInterval[ $formatDay.$formatTime ]];
echo $dateBack ->format['Y-m-d H:i:s'] . "\n";
//2018-02-01 15:45:10
S
Giây
- 5s
- F
- Microsecond [PHP7+]
- 5f
Gửi báo cáo yêu cầu kéo một lỗi
date_add
[Php 5> = 5.3.0, Php 7, Php 8]
DateTime :: Thêm - DATE_ADD - Sửa đổi một đối tượng DateTime, với số lượng thêm ngày, tháng, năm, giờ, phút và giây -- date_add — Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds
Sự mô tả
Phong cách hướng đối tượng
PublicDateTime :: Thêm [DateInterVal $interval
]: DateTime
DateTime::add[DateInterval $interval
]: DateTime
Phong cách thủ tục
date_add [DateTime $object
, DateInterval $interval
]: DateTime[DateTime $object
, DateInterval $interval
]: DateTime
Thêm đối tượng DateInterVal được chỉ định vào đối tượng DateTime được chỉ định.DateInterval object to the specified DateTime object.
Giống như datetimeimmutable :: add [] nhưng hoạt động với DateTime.DateTimeImmutable::add[] but works with DateTime.
Phiên bản thủ tục lấy đối tượng DateTime làm đối số đầu tiên của nó.DateTime object as its first argument.
Thông số
object
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.DateTime object returned by date_create[]. The function modifies this object.
interval
Một đối tượng DateIntervalDateInterval object
Trả về giá trị
Trả về đối tượng DateTime sửa đổi cho chuỗi phương thức.DateTime object for method chaining.
Xem thêm
- Datetimeimmutable :: add [] - Trả về một đối tượng mới, với số lượng ngày, tháng, năm, giờ, phút và giây
+ Thêm một ghi chú
Người dùng đóng góp ghi chú
Không có người dùng đóng góp ghi chú cho trang này.