Đưa ra thời gian sau:
$str = '2000-11-29'; $php_date = getdate( $str ); echo '<pre>'; print_r ($php_date); echo '</pre>';Làm thế nào để có được một năm/tháng/ngày trong PHP?
[seconds] => 20 [minutes] => 33 [hours] => 18 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1969 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 2000Tôi không biết tại sao tôi nhận được 1969 cho năm.
Cảm ơn bạn
Hỏi ngày 31 tháng 8 năm 2010 lúc 3:51Aug 31, 2010 at 3:51
Bạn có thể sử dụng strtotime để phân tích chuỗi thời gian và chuyển dấu thời gian kết quả cho [seconds] => 20 [minutes] => 33 [hours] => 18 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1969 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 2000 0 (hoặc sử dụng [seconds] => 20 [minutes] => 33 [hours] => 18 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1969 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 2000 1 để định dạng thời gian của bạn).
$str = '2000-11-29'; if (($timestamp = strtotime($str)) !== false) { $php_date = getdate($timestamp); // or if you want to output a date in year/month/day format: $date = date("Y/m/d", $timestamp); // see the date manual page for format options } else { echo 'invalid timestamp!'; }Lưu ý rằng strtotime sẽ trả về [seconds] => 20 [minutes] => 33 [hours] => 18 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1969 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 2000 3 nếu chuỗi thời gian không hợp lệ hoặc không thể phân tích cú pháp. Khi dấu thời gian mà bạn đang cố gắng phân tích không hợp lệ, bạn sẽ kết thúc với ngày 1969-12-31 mà bạn gặp phải trước đây.
Rrikesh
13.7K5 Huy hiệu vàng48 Huy hiệu bạc69 Huy hiệu đồng5 gold badges48 silver badges69 bronze badges
Đã trả lời ngày 31 tháng 8 năm 2010 lúc 3:53Aug 31, 2010 at 3:53
0
PHP - Cách nhận năm, tháng, ngày kể từ chuỗi thời gian
$dateValue = strtotime($q); $yr = date("Y", $dateValue) ." "; $mon = date("m", $dateValue)." "; $date = date("d", $dateValue);
user1438038
5.7176 huy hiệu vàng58 Huy hiệu bạc87 Huy hiệu đồng6 gold badges58 silver badges87 bronze badges
Đã trả lời ngày 6 tháng 11 năm 2015 lúc 10:13Nov 6, 2015 at 10:13
1
Cập nhật: Quên thêm dấu chấm phẩy ở cuối dòng đầu tiên, hãy thử điều này:
<?php $str = "2010-08-29"; // Missed semicolon here $time = strtotime($str); // You can now use date() functions with $time, like $weekday = date("l", $time); // Wednesday or whatever date it is ?>Hy vọng rằng điều đó sẽ giúp bạn đi!
Mike Purcell
19.7K10 Huy hiệu vàng51 Huy hiệu bạc87 Huy hiệu đồng10 gold badges51 silver badges87 bronze badges
Đã trả lời ngày 31 tháng 8 năm 2010 lúc 3:54Aug 31, 2010 at 3:54
Raphael Caixetaraphael CaixetaRaphael Caixeta
7,7749 huy hiệu vàng50 huy hiệu bạc76 Huy hiệu đồng9 gold badges50 silver badges76 bronze badges
Sử dụng kiểu lập trình hướng đối tượng, bạn có thể thực hiện điều này với lớp DateTimeDateTime class
$dateFormat = 'Y-m-d'; $stringDate = '2000-11-29'; $date = DateTime::createFromFormat($dateFormat, $stringDate);Sau đó, bạn có thể phân tách ngày của mình bằng phương thức định dạng ()format() method
$year = $date->format('Y'); // returns a stringNếu bạn thích định dạng số, thay vì định dạng chuỗi, bạn có thể sử dụng hàm intval ()intval() function
$year = intval($date->format('Y')); // returns an integerỞ đây một số định dạng mà bạn có thể sử dụng
- [seconds] => 20 [minutes] => 33 [hours] => 18 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1969 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 2000 4 Một đại diện số đầy đủ của một năm, 4 chữ số
- [seconds] => 20 [minutes] => 33 [hours] => 18 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1969 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 2000 5 tháng trong năm, 2 chữ số với số không hàng đầu
- [seconds] => 20 [minutes] => 33 [hours] => 18 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1969 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 2000 6 ngày trong tháng, 2 chữ số với số không hàng đầu
- [seconds] => 20 [minutes] => 33 [hours] => 18 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1969 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 2000 7 Định dạng 24 giờ của một giờ, 2 chữ số với số không hàng đầu
- [seconds] => 20 [minutes] => 33 [hours] => 18 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1969 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 2000 8 phút, 2 chữ số với số không hàng đầu
- [seconds] => 20 [minutes] => 33 [hours] => 18 [mday] => 31 [wday] => 3 [mon] => 12 [year] => 1969 [yday] => 364 [weekday] => Wednesday [month] => December [0] => 2000 9 giây, 2 chữ số với số không hàng đầu
Ở đây toàn bộ danh sách các định dạng mà bạn có thể sử dụng: //php.net/manual/en/function.date.php
Đã trả lời ngày 1 tháng 2 năm 2015 lúc 12:14Feb 1, 2015 at 12:14
TyphontyphonTyphon
8161 Huy hiệu vàng12 Huy hiệu bạc19 Huy hiệu đồng1 gold badge12 silver badges19 bronze badges
PHP - Chúng ta có thể nhận được năm, tháng, ngày từ chuỗi thời gian ở nhiều định dạng.
$dateFromDb = '2021-2-6 13:15:19'; if (($timestamp = strtotime($dateFromDb)) !== false) { // auto format full time $php_date = getdate($timestamp); echo '<br>'; foreach($php_date as $key =>$value){ echo $key.'='.$value.'<br>'; } // manually format time echo'-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-<br>'; echo '4 digit year = '.date("Y", $timestamp).'<br>'; echo '2 digit year = '.date("y", $timestamp).'<br>'; echo 'Month = '.date("m", $timestamp).'<br>'; echo 'Day = '.date("d", $timestamp).'<br>'; echo 'Time in 24 Hours Format = '.date("H", $timestamp).'<br>'; echo 'Time in 12 Hours Format = '.date("h", $timestamp).'<br>'; echo 'Minutes = '.date("i", $timestamp).'<br>'; echo 'Seconds = '.date("s", $timestamp).'<br>'; echo '-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- <br>'; // and we can combine format also. // and we can add '/' or ':' between year,month,days or anything we want. echo 'Time = ' .date("H:i:s" ,$timestamp).'<br>'; echo 'Date = ' .date("d/m/Y" ,$timestamp).'<br>'; } else { echo 'invalid date format.'; }Đã trả lời ngày 15 tháng 1 năm 2021 lúc 3:27Jan 15, 2021 at 3:27
1