2010-01-25 50 views
5

Tôi muốn chuyển đổi một ngày từ định dạng này: 01/07/09 thành số jan 07,09 này.Định dạng ngày PHP

Tôi làm cách nào để thực hiện điều đó trong PHP?

Trả lời

7

Sử dụng strptime để phân tích giá trị mà bạn đã có, sau đó date đến đầu ra nó ở định dạng mà bạn muốn:

echo date("M d,y", strptime("01/07/09", "d/m/y")); 

Nếu bạn đang ở trên Windows, hoặc sử dụng một phiên bản của PHP nơi strptime không phải là có sẵn (< PHP 5.1.0), sau đó sử dụng strtotime thay vào đó, nhưng hãy cẩn thận để đảm bảo ngày của bạn có định dạng tiếng Anh Mỹ (nghĩa là "01/07/09" có nghĩa là ngày 7 tháng 1 năm 2009, không phải ngày 1 tháng 7 năm 2009).

Ngoài ra, nếu bạn thực sự muốn jan, chứ không phải là Jan, sau đó sử dụng strtolower:

echo strtolower(date("M d,y", strptime("01/07/09", "d/m/y")); 
+0

Cũng lưu ý, 'strptime' không được triển khai trên Windows. –

+0

@Brian, cảm ơn - đã chỉnh sửa trong nhận xét về việc sử dụng 'strtotime' trong đó' strptime' không khả dụng. –

+1

bạn có thứ tự các đối số cho 'ngày' hỗn hợp. Nên là: 'date ($ format, [$ timestamp])' –

8

Tôi khá chắc chắn đây là những gì bạn cần.

<?php echo date('M d, y', strtotime('01/07/09'));?> 
2

Chỉ cần chuyển biến ngày thành strtotime. Xem PHP manual để biết thêm.

$date = "01/07/09"; 
echo date("M d,y", strtotime($date));