날짜/시간 도구 삽입 시, \T\Z가 zz로 표시됩니다

에디터 창
위 버튼으로 캘린더 도구 열기
고급 모드

설명서에는 시간대를 표시하려면 \T\Z를 사용하라고 되어 있습니다.

하지만 실제로는 다음과 같은 결과가 나옵니다:

LLLL \T\Z를 사용하면:

Tuesday, August 25, 1987 1:00 AM TZ

LLLL TZ를 사용하면:

Tuesday, August 25, 1987 1:00 AM T+00:00

LLLL ZZ를 사용하면:

Tuesday, August 25, 1987 1:00 AM +0000

LLLL zz를 사용하면 텍스트에서 언급했던 의도한 결과를 얻을 수 있습니다:

Tuesday, August 25, 1987 1:00 AM Coordinated Universal Time

(이건 도움말 아이콘을 클릭해서 일반 최종 사용자를 위해 만들어진 것이 아닌 복잡한 전문가용 문서를 뒤적여 겨우 알아낸 것입니다. 물론 전문가용 문서를 싫어하는 건 아닙니다!)

버그인지, 아니면 단순히 텍스트의 명확성 문제인지는 모르겠습니다. 하지만 최종 사용자 입장에서 캘린더 화면에서 zz에 대해 알려주었다면 매우 유용했을 것입니다.

z와 zz는 비추천(deprecated) 상태인 것 같고, 시간대가 지정된 경우에만 작동합니다(따라서 여기서는 작동해야 합니다 :thinking:). 하지만 맞습니다. \T\Z는 오타인 것 같고, 왜 \가 있는지, 또는 T와 Z 사이에 공백이 있는지, 아니면 T가 아예 없는 건지 확신이 서지 않습니다.

제가 이해한 바로는, 날짜는 항상 사용자 설정의 시간대에 따라 표시됩니다.
https://your.domain/u/my/preferences/profile
마우스를 올려 놓으면 시스템의 시간대가 표시됩니다.
https://your.domain/admin/site_settings/category/all_results?filter=timezone

@j.jaffeux 이 부분에 대해 의견 있으신가요?

음, 설명에서 TZ를 제거한 줄 알았는데, 실제로 더 이상 지원되지 않는 것이 맞네요. 내일 이 부분을 명확히 하겠습니다.

그래서 아주 간단한 변경 사항을 적용했습니다:

이전에 그렇게 하신 이유에 대해 더 자세히 설명드리겠습니다. zz와 Z가 원하는 결과를 달성하는 데 유사한 기능을 제공한다는 점은 사실입니다. 하지만 TZ는 제가 추가한 특수 토큰으로, 도시 이름을 사용하여 시간대를 표시할 수 있게 해주는 것이었으며, 시간대에 익숙하지 않은 일부 사용자에게는 더 명확할 것이라고 생각했습니다.

포맷은 TZ가 아니라 \T\Z였습니다. 이는 특수 토큰이기 때문에 이스케이프 처리가 필요했기 때문입니다. 그렇지 않으면 moment가 Z를 대체하려고 시도하게 됩니다(두 번째 예제에서 LLLL TZ를 사용하다가 T+01:00으로 끝나는 것을 볼 수 있는 이유입니다).

몇 달 전에는 비표준적인 것을 지원해야 하는 부담을 피하기 위해 이 기능을 제거하기로 결정했습니다. 하지만 로케일 파일에서 두 번 이스케이프 처리되어 \\T\\Z로 되어 있었기 때문에 이 발생 위치를 놓친 것 같습니다. 단일 이스케이프 쿼리로 grep을 시도하면 찾지 못했을 가능성이 큽니다.

마지막으로, zz와 Z는 비추천(deprecated)된 것이 아니라, 코어 moment에서는 제거되었지만 moment-timezone에는 여전히 널리 존재하므로 안심하고 사용하셔도 됩니다 :+1:

format이 작동하지 않는 것 같습니다. :anguished:

[date=2020-08-26 time=18:05:00 format="zz" timezone="Europe/Paris"]
Coordinated Universal Time
[date=2020-08-26 time=18:05:00 format="LLLL" timezone="Europe/Paris"]
Wednesday, August 26, 2020 4:05 PM

프랑스 로케일로 테스트해 보니, format의 따옴표는 시존 관련 문제와 동일한 문제를 겪고 있습니다(따라서 독일어에서도 동일한 문제가 발생할 가능성이 높습니다).

캘린더 모드에서는 존이 작동하지 않습니다(당신의 시간대이므로 어제, 오늘, 내일로 표시됩니다).

Friday, September 25, 2020 10:00 PM +00:00 (Coordinated Universal Time)

[date=2020-09-26 timezone="Europe/Paris" format="LLLL Z (zz)"]

비활성화할 수 있습니다:

Tuesday, August 25, 2020 10:00 PM +00:00 (Coordinated Universal Time)

[date=2020-08-26 timezone="Europe/Paris" format="LLLL Z (zz)" calendar="false"]

그리고 저는 try.discourse에 있습니다 :sweat_smile: