7

Ngày phía máy chủ DateTime được lưu theo UTC (2016-03-24 17:45:12) và cho khách hàng, nó luôn trả về DateTime là UTC. Có những người dùng khác nhau từ thế giới.Góc - Sử dụng i18n và l10n để quản lý múi giờ và thời gian

Cách tốt nhất để làm date-time quản lý hiển thị với i18n and l10n ở góc cạnh là gì? Ngoài ra, tôi muốn hiển thị ngày giờ theo múi giờ của người dùng.

Có nhiều nguồn cấp dữ liệu được hiển thị từ khắp nơi trên thế giới như Bài đăng trên StackOverflow. Từ phía máy chủ luôn, DateTime được chuyển trong múi giờ UTC. Về phía khách hàng, thời gian ngày có thể được hiển thị ở hai định dạng như dưới đây.

  1. Hiển thị thời gian ngày bài theo múi giờ
  2. Hiển thị cơ sở thời gian trước như (Just Bây giờ, phút trước, Giờ trước, ngày trước, tháng trước, năm trước, 2 năm trước, 3 năm trước , vv)

Loại ngày này được hiển thị trên hệ thống nhiều lần cho bài đăng. Vì vậy, cách tốt nhất để sử dụng góc để có mã rất ít để quản lý này là gì.

Làm cách nào/Khi nào/Tại sao nên sử dụng Bộ lọc, Chỉ thị, Biểu thức cho điều này?

(T.B. Tôi mới vào góc.)

Cập nhật: More giải thích:

bài viết đối tượng có thể được trang duy nhất hoặc mảng các đối tượng. Và bài ngày thời gian sẽ như thế nào UTC: (2016-03-24 17:45:12)

Vì vậy, có hai trường hợp có thể được hiển thị như:

  1. 5 Months Ago
  2. 2016 -03-24 11:15 PM (Thời gian IST)
+2

Đó là chưa rõ chính xác những gì bạn đang yêu cầu. Đây có phải là cách thực hành tốt nhất không? Bạn có câu hỏi cụ thể về cách làm gì đó không? Nếu bạn đang tìm kiếm một cách để đạt được các kịch bản bạn đã mô tả, hãy xem xét [moment.js] (http://momentjs.com). Có một tích hợp góc tốt [ở đây] (https://github.com/urish/angular-moment) –

+0

@MattJohnson: Vâng, tôi đang tìm kiếm giải pháp tương tự như vậy. Tôi đã cập nhật câu hỏi. –

+0

Tôi không biết cách trả lời điều này ngoài việc nói "sử dụng bộ lọc" - bạn đã xác định bộ lọc ngày góc và tôi đã cung cấp cho bạn liên kết để sử dụng moment.js với bộ lọc góc thời gian. Không có nhiều điều để nói, vì câu hỏi của bạn không phải là rất cụ thể. Tôi sẽ bỏ phiếu để đóng "quá rộng" ngoại trừ tiền thưởng mở ngăn cản điều đó. –

Trả lời

0

Bạn có thể tin tưởng trình duyệt của người dùng. Để hiển thị ngày, bạn có thể sử dụng myDate.toLocaleString(). Nó sẽ hiển thị ngày bằng cách sử dụng cài đặt miền địa phương của người dùng.

Đối với định dạng "thời gian trước", bạn có thể sử dụng phiên bản của AngularJS moment.js: https://github.com/urish/angular-moment#am-time-ago-directive

Các vấn đề liên quan