Nó phụ thuộc vào định dạng bạn muốn ngày được hiển thị là.
Định dạng ngày tĩnh
Nếu bạn muốn hiển thị định dạng tĩnh, giống với tất cả các địa điểm (ví dụ ISO 8601 cho nguồn cấp dữ liệu Atom), bạn nên sử dụng date
bộ lọc của Twig :
{{ game.gameDate|date('Y-m-d\\TH:i:sP') }}
Luôn luôn trả về một datetime theo định dạng sau:
2014-05 / 02T08: 55: 41Z
Các chuỗi định dạng được date
bộ lọc chấp nhận giống như bạn sử dụng cho hàm của PHPdate()
. (sự khác biệt duy nhất là, theo như tôi biết, bạn không thể sử dụng các hằng số được xác định trước có thể được sử dụng trong date()
hàm PHP )
Ngày địa phương (và thời gian)
Tuy nhiên, vì bạn muốn hiển thị nó trong trình duyệt, nên bạn có thể muốn hiển thị nó ở định dạng có thể đọc được, được bản địa hóa cho ngôn ngữ và vị trí của người dùng. Thay vì tự mình bản địa hóa, bạn có thể sử dụng Tiện ích mở rộng Intl cho việc này (sử dụng IntlDateFormatter của PHP ). Nó cung cấp một bộ lọc localizeddate
sẽ xuất ngày và giờ bằng định dạng cục bộ.
localizeddate( date_format, time_format [, locale ] )
Đối số cho localizeddate
:
date_format
: Một trong các chuỗi định dạng (xem bên dưới)
time_format
: Một trong các chuỗi định dạng (xem bên dưới)
locale
: (tùy chọn) Sử dụng phần này để ghi đè ngôn ngữ được định cấu hình. Để lại đối số này để sử dụng ngôn ngữ mặc định, có thể được cấu hình trong cấu hình của Symfony.
(có nhiều hơn, xem các tài liệu cho danh sách đầy đủ các đối số có thể)
Cho date_format
và time_format
bạn có thể sử dụng một trong các chuỗi sau:
'none'
nếu bạn không muốn bao gồm yếu tố này
'short'
cho kiểu viết tắt nhất (12/13/52 hoặc 3:30 chiều tại một địa điểm tiếng Anh)
'medium'
cho phong cách trung bình (ngày 12 tháng 1 năm 1952 tại một địa phương tiếng Anh)
'long'
cho kiểu dài (ngày 12 tháng 1 năm 1952 hoặc 3:30:32 chiều tại một địa phương tiếng Anh)
'full'
cho kiểu hoàn toàn được chỉ định (Thứ ba, ngày 12 tháng 4 năm 1952 sau Công nguyên hoặc 3:30:42 chiều PST theo ngôn ngữ tiếng Anh)
Thí dụ
Vì vậy, ví dụ, nếu bạn muốn hiển thị ngày ở định dạng tương đương February 6, 2014 at 10:52 AM
, hãy sử dụng dòng sau trong mẫu Twig của bạn:
{{ game.gameDate|localizeddate('long', 'short') }}
Tuy nhiên, nếu bạn sử dụng một ngôn ngữ khác, kết quả sẽ được bản địa hóa cho miền địa phương đó:
6 februari 2014 10:52
cho nl
miền địa phương;
6 février 2014 10:52
cho fr
miền địa phương;
6. Februar 2014 10:52
cho de
miền địa phương; Vân vân.
Như bạn có thể thấy, localizeddate
không chỉ dịch tên tháng mà còn sử dụng các ký hiệu địa phương. Ký hiệu tiếng Anh đặt ngày sau tháng, trong đó các ký hiệu tiếng Hà Lan, tiếng Pháp và tiếng Đức đặt ngày trước tháng. Tên tháng tiếng Anh và tiếng Đức bắt đầu bằng một chữ cái viết hoa, trong khi tên tháng tiếng Hà Lan và tiếng Pháp là chữ thường. Và ngày Đức có một dấu chấm được nối thêm.
Cài đặt / cài đặt ngôn ngữ
Hướng dẫn cài đặt cho phần mở rộng Intl có thể được tìm thấy trong câu trả lời riêng biệt này .
{{ game.gameDate|date('Y-m-d H:i:s') }}
cho ngày và thời gian. Tôi gặp vấn đề trong việc tìm kiếm nhân vật trong vài phút.