Cách thay đổi múi giờ trong Laravel 9
Một cách dễ dàng để đặt múi giờ cho người dùng trong ứng dụng của bạn và sau đó hiển thị ngày/giờ cho họ theo múi giờ địa phương của họ Show
Làm thế nào nó hoạt độngGói này lắng nghe sự kiện @displayDate($post->created_at)2 và sau đó sẽ tự động đặt một @displayDate($post->created_at)3 trên mô hình @displayDate($post->created_at)4 của bạn (được lưu trữ trong cơ sở dữ liệu) Gói này sử dụng gói torann/geoip để tra cứu vị trí của người dùng dựa trên địa chỉ IP của họ. Gói này cũng trả về thông tin như đơn vị tiền tệ của người dùng và múi giờ của người dùng. Bạn có thể cấu hình riêng gói này nếu bạn yêu cầu Cách sử dụngBạn có thể hiển thị ngày cho người dùng của mình theo múi giờ của họ bằng cách sử dụng {{ Timezone::convertToLocal($post->created_at) }} Hoặc sử dụng chỉ thị lưỡi đẹp của chúng tôi @displayDate($post->created_at) Thêm ví dụ bên dưới Cài đặtKéo gói bằng Composer
Xuất bản di chuyển cơ sở dữ liệu
Chạy di chuyển cơ sở dữ liệu. Điều này sẽ thêm một cột @displayDate($post->created_at)3 vào bảng @displayDate($post->created_at)6 của bạn
ví dụHiển thị ngày/giờ cho người dùng theo múi giờ của họMặc định sẽ sử dụng định dạng @displayDate($post->created_at)7 và sẽ không hiển thị múi giờ @displayDate($post->created_at)1 Nếu muốn, bạn có thể đặt định dạng tùy chỉnh và cũng bao gồm một phiên bản đẹp của múi giờ @displayDate($post->created_at)2 Sử dụng chỉ thị lưỡi daoLàm cho cuộc sống của bạn dễ dàng hơn từng bước một @displayDate($post->created_at)3 Và với định dạng tùy chỉnh @displayDate($post->created_at)4 Lưu đầu vào của người dùng vào cơ sở dữ liệu trong UTCQuá trình này sẽ lấy ngày/giờ, đặt thành múi giờ của người dùng, sau đó trả về dưới dạng UTC trong phiên bản Carbon @displayDate($post->created_at)5 Cấu hình tùy chỉnhXuất bản tệp cấu hình là tùy chọn @displayDate($post->created_at)0 Tin nhắn flashKhi múi giờ đã được đặt, chúng tôi hiển thị thông báo flash, Theo mặc định, được định cấu hình để sử dụng thông báo flash mặc định của Laravel, đây là một số tích hợp tùy chọn laracast/flash - @displayDate($post->created_at)8 thủy ngânseries/hào nhoáng - @displayDate($post->created_at)9 spatie/laravel-flash - 0mckenziearts/laravel-notify - 1usernotnull/tall-toasts - 2Để ghi đè cấu hình này, bạn chỉ cần thay đổi thuộc tính 3 bên trong tệp cấu hình 4 cho gói mong muốn. Bạn có thể tắt tin nhắn flash bằng cách cài đặt 5Ghi đè múi giờ hiện có trong cơ sở dữ liệuTheo mặc định, múi giờ sẽ được ghi đè ở mỗi lần đăng nhập bằng múi giờ của người dùng hiện tại. Hành vi này có thể bị hạn chế chỉ cập nhật múi giờ nếu nó trống bằng cách đặt tùy chọn cấu hình 6Định dạng mặc địnhTheo mặc định, định dạng ngày tháng sẽ là @displayDate($post->created_at)7. Để ghi đè cấu hình này, bạn chỉ cần thay đổi thuộc tính 8 bên trong tệp cấu hình 4 để có định dạng mong muốnMảng tra cứuCấu hình mảng tra cứu này cho phép tìm địa chỉ từ xa của người dùng trong bất kỳ thuộc tính nào bên trong trình trợ giúp Laravel 0, bằng bất kỳ phím nào. Lưu ý khi tìm thấy khóa bên trong thuộc tính, khóa đó sẽ được sử dụng. Theo mặc định, chúng tôi sử dụng thuộc tính 1 với khóa 2. Để ghi đè cấu hình này, bạn chỉ cần thay đổi thuộc tính 3 bên trong tệp cấu hình 4 để tra cứu mong muốnTin nhắn người dùngBạn có thể định cấu hình thông báo hiển thị cho người dùng khi múi giờ được đặt bằng cách thay đổi thuộc tính 5 bên trong tệp cấu hình 4Gói GeoIp cơ bảnNếu bạn muốn tùy chỉnh gói 7 cơ bản, bạn có thể xuất bản tệp cấu hình bằng cách sử dụng lệnh bên dưới@displayDate($post->created_at)1 Nhật ký thay đổiVui lòng xem CHANGELOG để biết thêm thông tin về những thay đổi gần đây Đóng gópVui lòng xem ĐÓNG GÓP để biết chi tiết Giấy phépGói này miễn phí 100% và mã nguồn mở, theo giấy phép MIT. Sử dụng nó theo cách bạn muốn Gói này là Treeware. Nếu bạn sử dụng nó trong sản xuất, thì chúng tôi yêu cầu bạn mua cho thế giới một cái cây để cảm ơn vì công việc của chúng tôi. Bằng cách đóng góp cho rừng Treeware, bạn sẽ tạo việc làm cho các gia đình địa phương và khôi phục môi trường sống của động vật hoang dã Vấn đềNếu bạn nhận được thông báo như 8 thì điều này là do gói 7 yêu cầu trình điều khiển bộ nhớ đệm hỗ trợ gắn thẻ và có thể bạn đã đặt ứng dụng của mình để sử dụng trình điều khiển bộ nhớ đệm 0. Bạn có thể xuất bản tệp cấu hình cho gói 7 và đặt 2 để giải quyết vấn đề này. Đọc thêm về vấn đề này tại đây
Làm cách nào để thay đổi múi giờ trong laravel một cách linh hoạt?Nếu bạn muốn giữ múi giờ mới cho tất cả các yêu cầu trong tương lai, bạn cần sử dụng gói như larapack/config-writer để có thể lưu múi giờ vào tệp cấu hình ứng dụng. Một cách khác để xử lý việc này là giữ múi giờ trong DB, tìm nạp múi giờ đó trong mọi yêu cầu và đặt múi giờ đó bằng config(['app. timezone' => $timezone]) động .
Làm thế nào để đối phó với múi giờ trong laravel?Nếu bạn cần cấu hình tùy chỉnh. . Định cấu hình múi giờ ứng dụng của bạn thành UTC. 'múi giờ' => 'UTC', Bạn có thể lưu trữ các múi giờ khác nhau trong cột cơ sở dữ liệu Khi xuất/hiển thị ngày, chỉ cần định dạng nó để sử dụng múi giờ đó. $timezone = 'Mỹ/Vancouver'; Làm cách nào để đặt múi giờ mặc định trong php?Hàm date_default_timezone_set() đặt múi giờ mặc định được sử dụng bởi tất cả các hàm ngày/giờ trong tập lệnh.
Làm cách nào để lấy múi giờ của trình duyệt trong laravel?Để lưu trữ múi giờ của người dùng trong cơ sở dữ liệu, chúng tôi sẽ cần thêm một cột trong bảng của người dùng, trước tiên hãy thêm cột đó. . Thêm cột "múi giờ" trong cơ sở dữ liệu bảng người dùng Lưu trữ múi giờ trong quá trình Đăng ký Thêm múi giờ làm trường ẩn trong biểu mẫu đăng ký Nhận múi giờ từ yêu cầu đăng khi đăng ký |