2017-12-29 84 views
1

저는 다중 시간대 기반 프로젝트를 운영하고 있습니다. 프로젝트에 많은 DateTime 필드가 있습니다. 모든 사용자는 자신의 프로필 환경 설정에서 자신의 시간대를 설정할 수 있습니다.Laravel은 사용자의 선호도에 따라 시간대를 변경합니다.

이러한 날짜를 UTC에서 사용자의 시간대로 변환하는 것은 번거로운 작업입니다. 나는 날짜/시간을 조작 할 때마다 이것을하고있다.

처리 방법은 무엇입니까? 수백만 위치에서 DateTime 변환 함수를 호출하고 싶지 않습니다. 이 작업을 수행하는 적절한 방법은 무엇입니까?

+0

가까이, downvote하지 마십시오 실패합니다. 겸손한 요청입니다 –

+0

답변이 여기있는 URL을 선호하십시오 (https://laracasts.com/discuss/channels/general-discussion/user-specified-timezones-config). –

답변

1

이전에 같은 문제에 직면했습니다. 나는이 방법을 해결했다 : geoip_time_zone_by_country_and_region 을 사용하여 사용자 등록이 월드 와이드 공통 코드 인 국가 코드를 사용하여 기능 할 때 시간대를 얻는다.

2) users 테이블에 시간대를 저장했습니다.

3) 나는 사용자가 로그인하고 PHP로 제공되는 date_default_timezone_set 함수를 사용하여 시간대를 설정하면 읽는 글로벌 미들웨어를 만들었습니다.

그것이 작동하는 방식입니다.

프로는

당신은 한 번 할 필요가 영원히 작동합니다.

단점

올바르게 설정 국가와 국가 코드의 목록이 필요하거나이