Insert Date Timezone is always UTC ; my Timezone is ignored

When I create a date with “Insert Date” Button it creates something like

[date=2019-08-20 time=20:00:00 timezone="Europe/Berlin"]

I’m on Timezone Europe/Berlin. But, the html result shows “22:00” instead of “20:00”.

When I change the generated code to:

[date=2019-08-20 time=20:00:00 timezone=Europe/Berlin]

it works like a charm.

Here at meta.discourse.org it works correctly. My forum is at v2.4.0.beta2 +316

Thanks

Let’s try here, I’m in France, but it’s the same TZ

[date=2019-08-20 time=20:00:00 timezone="Europe/Paris"]

2019-08-20T18:00:00Z

[date=2019-08-20 time=20:00:00 timezone=Europe/Paris]

2019-08-20T18:00:00Z

results in

Did you reconfigure your server time/time zone away from UTC?

Yes, as I wrote here it works. I guess it is something in the diff from the version here to mine. I remember that it already worked before a couple of updates I made.

No, it is still UTC.

What’s your browser? It’s not related to your server, but is YOUR computer clock correctly configured?

I tested Firefox and Chrome/Chromium on Windows, Linux and Android. On each browser it is the same behavior. Oh and my clock is always Europe/Berlin.

Can you try this in the console of a browser currently browsing a discourse forum:

moment.tz.guess()

says: "Europe/Berlin"

at my forum as well as at meta.discourse.org

Ok will investigate in the next days, thanks for info.

I am having the exact same issue! Without quotes it works like a charm. But the Discourse Editor always creates “Europe/Berlin” instead of Europe/Berlin - and in preview it shows wrong time then. Can this be fixed?

I still have no repro whatever I try on chrome or firefox. Need to dig more.

사파리에서 이 문제가 발생했는데, 크롬/파이어폭스는 아직 시도해 보지 않았습니다.

이 문제에 대한 업데이트가 있나요?

위에서 언급된 것과 동일한 동작을 경험하고 있습니다. ""를 제거하면 모두 정상적으로 작동합니다. 하지만 이를 사용하면 시스템이 클라이언트가 실행 중인 시간대의 시간만큼 UTC에 더하거나 빼는 것 같습니다.

참고로, 시간대에 의미 없는 값을 입력해도 같은 문제가 발생합니다:
[date=2019-08-20 time=20:00:00 timezone="nonsense"]
또는
[date=2019-08-20 time=20:00:00 timezone=nonsense]
2019-08-20T20:00:00Z

저도 정확히 같은 문제를 보고합니다. 어느 정도 “독일어” 설치 환경에서 발생하는 문제인 것 같습니다.

참고로, 설정을 초기화하기 위해 domain.de/wizard에 접속하여 로케일을 미국 영어로 변경하고 마법사 과정을 처음부터 끝까지 진행해 보았습니다. 영어 설정에서는 시간을 붙여넣으면 올바르게 표시됩니다. 예를 들어 "내일 오후 11:15 (Europe/Berlin)"라고 표시되지만, 실제로는 독일 시간으로 23:15를 입력한 것입니다. 즉, 올바르게 표시되는 것입니다.

하지만 마법사를 통해 포럼을 다시 "Deutsch(독일어)"로 설정하고, 시간을 포함하여 새로운 예약을 붙여넣으면 … +1시간 효과가 다시 나타납니다. (영어 설정으로 붙여넣은 시간은 여전히 올바르게 표시됩니다.)

따라서 이것은 서버 시간 문제인 것 같지 않습니다. Europe 로케일과 UTC 사이에서 무언가가 충돌하는 것 같습니다.

필요하다면 테스트하거나 더 많은 조언을 드릴 수 있습니다.

Docker에서 Discourse를 실행 중입니다.

도움 주셔서 감사합니다!

작은 추가 사항인데, 제 설치 환경과 이 공식 버전 사이에 작은 차이를 발견했습니다.

우리는 “사용자 로케일 허용” 옵션을 비활성화했습니다. 따라서 사용자는 스스로 언어를 변경할 수 없습니다. 이것이 도움이 될지 모르겠습니다.

같은 문제를 경험한 다른 분들, 즉 @Daniel_Tesla, @lorddevil, @zogstrip, @hewo7 님의 경우, 사용자들이 인터페이스 로케일 설정을 변경할 수 있나요? 또는 독일어 환경에서 설정 › 일반 설정의 사용자 로케일 허용: “Erlaube Benutzern, ihre eigene Oberflächensprache zu wählen” 항목이 어떻게 되어 있나요?

  • 사용자 로케일 허용 활성화
  • 사용자 로케일 허용 비활성화
0 voters

현재 로케일이 시간대에 영향을 미치는 것이 좀 이상하네요 :thinking:

@j.jaffeux 최근 수정 사항으로 이 문제를 해결하셨나요?

필요할 경우 테스트와 디버깅에 대한 추가 도움을 드릴 수 있습니다. 팀원 중 해당 주제에 대해 더 자세히 살펴보고 싶으신 분이 계신다면 말씀해 주세요.

아니요, 내일 한번 살펴볼게요.

다음 방법으로 수정해야 합니다:

:tada: 정보를 알려주셔서 감사합니다


더 자세한 맥락을 말씀드리자면, Discourse 인스턴스가 독일어 로케일로 설정되어 있을 때, 따옴표 "를 독일어 따옴표 „“로 대체하면서 파서를 깨뜨리는 문제가 발생한 것 같습니다.

@gerhard 당분간 local-dates에 직접 수정을 적용했습니다. 체인의 더 상위 단계에서 수정을 시도해야 한다고 생각하시나요?

  • 일치한 문자열을 보내기 전에 parseBBCodeTag 자체에서?
  • pretty text에서?