Moment: Date.prototype.toString ()์—์„œ ์‹œ๊ฐ„๋Œ€ ์•ฝ์–ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2012๋…„ 02์›” 06์ผ  ยท  33์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: moment/moment

์•ˆ๋…•ํ•˜์„ธ์š” ์ €๋Š” ํฌ๋Ÿผ์„ ํ†ตํ•ด moment.js ์‚ฌ์ดํŠธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์—ฌ๊ธฐ์—๋ณด๊ณ ํ•˜๊ณ  ์‹ถ์€ 2 ๊ฐœ์˜ ํ…Œ์ŠคํŠธ์— ์‹คํŒจํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์„ ๋•Œ ํด๋ฆญํ–ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.7 (KHTML, like Gecko) Chrome / 16.0.912.77 Safari / 535.7 (Chrome 16.0.912.77m)

์‹œ๊ฐ„๋Œ€ :
UTC + 1

์‹คํŒจํ•œ ํ…Œ์ŠคํŠธ (# 28) :
http://pastebin.com/bQsDuxdH

* Title ํŽธ์ง‘ : timrwood

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์–ด๋ฆฌ์„์€ ์งˆ๋ฌธ : ์™œ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๊นŒ? ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ํ•ด๊ฒฐํ•˜๋Š” ์ˆœ๊ฐ„์˜ ์š”์ ์ด ์•„๋‹™๋‹ˆ๊นŒ? ๋ฐ์ดํ„ฐ ํŒŒ์ผ์€ ์‚ฌ์†Œํ•œ ์–‘์˜ ๊ณต๊ฐ„์„ ์ถ”๊ฐ€ํ•˜์ง€๋งŒ (๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค) ์ƒˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž์ฒด๋Š” <2k์ด๋ฏ€๋กœ ๊ณต๊ฐ„์ด ๋ถ„๋ฆฌ๋˜๋Š” ์ด์œ ๊ฐ€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹จ์ˆœํžˆ ์‹œ๊ฐ„๋Œ€๊ฐ€ ํฌํ•จ ๋œ ๋‚ ์งœ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๋ ค๋Š” ์‚ฌ๋žŒ์ด Javascript์— ๋‚ด์žฅ๋˜์–ด ์žˆ์–ด์•ผํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐœ์˜ ๋ณ„๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋‹ค์†Œ ์Šฌํ”ˆ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ์ด ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ†ตํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ๋‚ ์งœ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‚ด๊ฐ€ ์ƒ์„ฑํ•˜๊ธฐ ์ „์— :

Sun, 06 Nov 1994 08:49:37 GMT

์™€:

moment().format('ddd, DD MMM YYYY HH:mm:ss z');

ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ "z"์„œ์‹ ์˜ต์…˜์—†์ด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•˜๋Š”์ง€ ํ˜ผ๋ž€ ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๋„์›€์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  33 ๋Œ“๊ธ€

์‹œ๊ฐ„๋Œ€ ์•ฝ์–ด๊ฐ€ ์‹คํŒจํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์›๊ฒฉ ๋””๋ฒ„๊น…์„ํ•ด์„œ ๋ฏธ์•ˆํ•˜์ง€๋งŒ ํฌ๋กฌ์—์„œ ๋‹ค์Œ์˜ ์ถœ๋ ฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

new Date().toString()

๋˜ํ•œ ํ˜„์žฌ์žˆ๋Š” ์‹œ๊ฐ„๋Œ€์˜ ์ด๋ฆ„์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹จ์œ„ ํ…Œ์ŠคํŠธ์—์„œ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  UTC + 1 (์ด์ „์—๋Š” GMT + 1์ด๋ผ๊ณ  ํ•จ)์—๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

new Date (). toString ()์€ Firefox 10์—์„œ "Sat Feb 11 2012 02:15:10 GMT + 0100", "Sat Feb 11 2012 02:18:29 GMT + 0100 (W. Europe Standard Time)"์„ Chrome์—์„œ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. Internet Explorer 9์—์„œ 16 ๋ฐ "Sat Feb 11 02:18:59 UTC + 0100 2012"

ํ , ๋ฌด์„œ์› ์–ด์š”. ๋ฌธ์ œ๋Š” Date.prototype.toString ๊ฐ€ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋Œ€ ์ด๋ฆ„ (PST, CST, EST ๋“ฑ)์„ ์–ป์„ ์ˆ˜์žˆ๋Š” ์œ ์ผํ•œ ์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๊ฐ€ ์‹œ๊ฐ„๋Œ€ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ (FF10 ๋ฐ IE9์˜ ๊ฒฝ์šฐ์™€ ๊ฐ™์ด)์ด๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ๊ฐ€ ์ƒ๊ฐ ํ•  ๋•Œ๊ฐ€๋˜์—ˆ๋‚˜? ์•„๋‹ˆ๋ฉด ๋ฌธ์„œ์—์„œ ๋ฌธ์ œ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๊นŒ?

4318 ํ†ต๊ณผ, 2 ๊ฐœ ์‹คํŒจ. 2715 ๋ฐ€๋ฆฌ ์ดˆ.

Mozilla / 5.0 (Windows NT 6.1) AppleWebKit / 535.11 (Gecko์™€ ๊ฐ™์€ KHTML) Chrome / 17.0.963.56 Safari / 535.11

UTC +2 (์šฐํฌ๋ผ์ด๋‚˜ ํ‚ค์˜ˆํ”„)

ํ˜•์‹ ์‹œ๊ฐ„๋Œ€ 2 ํ†ต๊ณผ, 2 ์‹คํŒจ.
---> "PST"์™€ ๊ฐ™์€ ๊ฒƒ
AssertionError : ---> "PST"์™€ ๊ฐ™์€ ๊ฒƒ
Object.ok (http://momentjs.com/js/tests.js?_=120203_183019:1526:39)
http://momentjs.com/js/tests.js?_=120203_183019:2413:14
Object.runTest (http://momentjs.com/js/tests.js?_=120203_183019:1702:9)
http://momentjs.com/js/tests.js?_=120203_183019:1748:25
http://momentjs.com/js/tests.js?_=120203_183019:1006:13
http://momentjs.com/js/tests.js?_=120203_183019:616:13
http://momentjs.com/js/tests.js?_=120203_183019:627:25
http://momentjs.com/js/tests.js?_=120203_183019:1008:17
http://momentjs.com/js/tests.js?_=120203_183019:1589:17
---> "PST"์™€ ๊ฐ™์€ ๊ฒƒ
AssertionError : ---> "PST"์™€ ๊ฐ™์€ ๊ฒƒ
Object.ok (http://momentjs.com/js/tests.js?_=120203_183019:1526:39)
http://momentjs.com/js/tests.js?_=120203_183019:2414:14
Object.runTest (http://momentjs.com/js/tests.js?_=120203_183019:1702:9)
http://momentjs.com/js/tests.js?_=120203_183019:1748:25
http://momentjs.com/js/tests.js?_=120203_183019:1006:13
http://momentjs.com/js/tests.js?_=120203_183019:616:13
http://momentjs.com/js/tests.js?_=120203_183019:627:25
http://momentjs.com/js/tests.js?_=120203_183019:1008:17
http://momentjs.com/js/tests.js?_=120203_183019:1589:17
+02 : 00 ---> "+07 : 30"๊ณผ ๊ฐ™์€ ํ˜•์‹
+0200 ---> "+0700"๊ณผ ๊ฐ™์€ ๊ฒƒ

๋‚˜๋Š” ๋˜ํ•œ ๋™์ผํ•œ ์‹คํŒจ ํ…Œ์ŠคํŠธ # 28์„ ์–ป์Šต๋‹ˆ๋‹ค. ์ œ ์‹œ๊ฐ„๋Œ€๋Š” GMT -3์ž…๋‹ˆ๋‹ค.

์—์ด์ „ํŠธ:
Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.11 (Gecko์™€ ๊ฐ™์€ KHTML) Chrome / 17.0.963.66 Safari / 535.11

์‹คํŒจํ•œ ํ…Œ์ŠคํŠธ : http://pastebin.com/dsWHMF3h

. :.

์—์ด์ „ํŠธ:
Mozilla / 5.0 (Windows NT 6.1, WOW64, rv : 10.0.2) Gecko / 20100101 Firefox / 10.0.2
๋˜๋Š”
Mozilla / 5.0 (ํ˜ธํ™˜, MSIE 9.0, Windows NT 6.1, WOW64, Trident / 5.0, SLCC2, .NET CLR 2.0.50727, .NET CLR 3.5.30729, .NET CLR 3.0.30729, Media Center PC 6.0, .NET4. 0C, Zune 4.7, .NET4.0E)

์‹คํŒจํ•œ ํ…Œ์ŠคํŠธ : http://pastebin.com/6t6JP9fu

์ด๊ฒƒ์ด UTC + 1, UTC + 2, UTC-3์—์„œ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ ์ด์ œ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. Date().toString() ์ถœ๋ ฅ์„ ํ•ดํ‚นํ•˜๋Š” ๋ฐ ๋‹ฌ๋ ค ์žˆ์œผ๋ฉฐ ํ•ด๋‹น ๋ฌธ์ž์—ด์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์‹œ๊ฐ„๋Œ€ ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉด ํ•ด๋‹น ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š”์ด ๊ธฐ๋Šฅ์„ ๋‚ฎ์ถ”๊ณ  ๋” ์‹ ๋ขฐํ•  ์ˆ˜์žˆ๋Š” (์•„๋งˆ๋„ ๋œ ์ •ํ™•ํ• ์ง€๋ผ๋„) ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ง„ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. https://github.com/mde/timezone-js ์™€ ๊ฐ™์€ ํ˜•์‹์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค

z zz ํ† ํฐ์€ 1.6.0๋ถ€ํ„ฐ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ์ด ๋ฌธ์ œ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

node.js๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ? z zz ์ด (๊ฐ€)์ด ํ™˜๊ฒฝ์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ณต์‹์ ์œผ๋กœ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฒ„์ „ 1.6.0์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ ์ด์ „์˜ ์ฝ”๋“œ ๋ฒ„์ „์˜ ๊ฒฝ์šฐ Node๊ฐ€ V8์„ ์‚ฌ์šฉํ•˜๊ณ  ์œ„์˜ ์ผ๋ถ€ ๋ถˆ์ผ์น˜ ๊ฒฐ๊ณผ๊ฐ€ V8๋„ ์‚ฌ์šฉํ•˜๋Š” Chrome์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ๋„ ๋ถˆ์ผ์น˜ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌ. ๋”ฐ๋ผ์„œ Thu Jan 10 2013 22:54:11 GMT+0100 (CET) ์™€ ๊ฐ™์€ ๋ฌธ์ž์—ด์˜ ๊ฒฝ์šฐ ์ •๊ทœ์‹์œผ๋กœ ์‹œ๊ฐ„๋Œ€ ๋ฌธ์ž์—ด (์—ฌ๊ธฐ์„œ๋Š” (CET) )์„ ์ œ๊ฑฐํ•˜๊ณ  ํƒ€์ž„ ์‹œํ”„ํŠธ ์ •๋ณด (์—ฌ๊ธฐ์„œ๋Š” +0100 ๋งŒ ๋‚จ๊ฒจ ๋‘ก๋‹ˆ๋‹ค.

ํ , ๋ฌด์—‡์„ ํ•˜๋ ค๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. CET ๋˜๋Š” +0100 ๋ฅผ ๋ฐ›์œผ๋ ค๊ณ ํ•˜์‹ญ๋‹ˆ๊นŒ?

+0100 ๋Š” ZZ ํ† ํฐ์„ ํ†ตํ•ด ์ง€์›๋˜๋ฉฐ (๋Œ€๋ฌธ์ž ํ‘œ์‹œ์— ์œ ์˜) ๊ตฌ๋ฌธ ๋ถ„์„ ๋ฐ ํ˜•์‹ ์ง€์ •์‹œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

CET ๋Š” Date.toString ์—์„œ ์•ˆ์ •์ ์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์–ด ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Date.getTimezoneOffset ์— +0100 ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ง€์›์ด ํ›จ์”ฌ ๋” ์ผ๊ด€์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ๋งํ•œ๋Œ€๋กœ +0100์— ZZ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ตฌ๋ฌธ ๋ถ„์„์„ ์œ„ํ•ด ๋ฌธ์ž์—ด์—์„œ CET๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ดํ•ด๊ฐ€ ๋˜๋‚˜์š”?

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•„์ง ์ดํ•ด๊ฐ€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Thu Jan 10 2013 22:54:11 GMT+0100 (CET) ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๊นŒ? ๋‹ค์Œ์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

moment('Thu Jan 10 2013 22:54:11 GMT+0100 (CET)', 'ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');

์ด๊ฒƒ์ด ์ œ๊ฐ€ ๋งˆ์ง€๋ง‰์—ํ•˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์˜ณ์€ ์ผ์„ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์‹  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋ช…ํ™•ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋‹ต๋ณ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋ฌธ์ œ ์—†์–ด์š”!

@ hughanderson4 , ๋ฌธ์ œ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•ญ์ƒ Date.prototype.toString ์˜ ์‹œ๊ฐ„๋Œ€ ์•ฝ์–ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋Œ€ ์•ฝ์–ด๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ ์ดํ›„๋กœ moment.js์— ๋Œ€ํ•œ ์‹œ๊ฐ„๋Œ€ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด moment-timezone ์ด ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ํ•„์š”์— ๋งž๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๊ฒƒ์„ ์กฐ์‚ฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

moment.utc ()๋ฅผ ํ˜„์ง€ ์‹œ๊ฐ„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์‹œ๊ฐ„๋Œ€ ์•ฝ์–ด๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์–ด๋ฆฌ์„์€ ์งˆ๋ฌธ : ์™œ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๊นŒ? ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ํ•ด๊ฒฐํ•˜๋Š” ์ˆœ๊ฐ„์˜ ์š”์ ์ด ์•„๋‹™๋‹ˆ๊นŒ? ๋ฐ์ดํ„ฐ ํŒŒ์ผ์€ ์‚ฌ์†Œํ•œ ์–‘์˜ ๊ณต๊ฐ„์„ ์ถ”๊ฐ€ํ•˜์ง€๋งŒ (๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค) ์ƒˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž์ฒด๋Š” <2k์ด๋ฏ€๋กœ ๊ณต๊ฐ„์ด ๋ถ„๋ฆฌ๋˜๋Š” ์ด์œ ๊ฐ€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‹จ์ˆœํžˆ ์‹œ๊ฐ„๋Œ€๊ฐ€ ํฌํ•จ ๋œ ๋‚ ์งœ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๋ ค๋Š” ์‚ฌ๋žŒ์ด Javascript์— ๋‚ด์žฅ๋˜์–ด ์žˆ์–ด์•ผํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐœ์˜ ๋ณ„๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋‹ค์†Œ ์Šฌํ”ˆ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ์ด ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ†ตํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ๋‚ ์งœ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‚ด๊ฐ€ ์ƒ์„ฑํ•˜๊ธฐ ์ „์— :

Sun, 06 Nov 1994 08:49:37 GMT

์™€:

moment().format('ddd, DD MMM YYYY HH:mm:ss z');

ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ "z"์„œ์‹ ์˜ต์…˜์—†์ด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•˜๋Š”์ง€ ํ˜ผ๋ž€ ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๋„์›€์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ, ๋‚ด๊ฐ€ ์ดํ•ดํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ๋งŒํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค : ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” 'z'ํ˜•์‹์„ ๋Œ€์ฒด ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?

๋‹ค์Œ๊ณผ ๊ฐ™์ด ISO-8601 ํ˜•์‹์˜ ํƒ€์ž„ ์Šคํƒฌํ”„๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ :

2014-07-25T18:00:00-04:00

๊ทธ๋ฆฌ๊ณ ์ด ํƒ€์ž„ ์Šคํƒฌํ”„๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

6:00 PM EST

์ˆœ๊ฐ„์ด ๋” ์ด์ƒ์ด ํ˜•์‹์„ ์ง€์›ํ•˜์ง€ ์•Š๋‚˜์š”? ๋ชจ๋“  ์‹œ๊ฐ„๋Œ€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚ด ํƒ€์ž„ ์Šคํƒฌํ”„์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ์–ด๋–ค ๋ฐฉ์‹ ์œผ๋กœ๋“  ์‹œ๊ฐ„๋Œ€๋ฅผ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ณ  ์ง์ ‘ ํ‘œ์‹œํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์‹œ๊ฐ„๋Œ€๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋‹ค์–‘ํ•œ DST์˜ ๊ฐ€๋Šฅ์„ฑ์„ ๊ณ ๋ คํ•  ๋•Œ ๋™์ผํ•œ UTC ์˜คํ”„์…‹์— ํ•ด๋‹นํ•˜๋Š” ์—ฌ๋Ÿฌ ์‹œ๊ฐ„๋Œ€ ์ด๋ฆ„์ด์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "UTC-4 : 00"์—์„œ ์‹œ๊ฐ„๋Œ€๊ฐ€ EST๋ผ๊ณ  ์ถ”๋ก  ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์„ค๋ช…์„ ์œ„ํ•ด z ํฌ๋งทํ„ฐ๋Š” ํŠน์ • ์˜์—ญ์—์„œ moment-timezone ์„ ์‚ฌ์šฉํ•  ๋•Œ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์•ฝ์–ด๋Š” ํ‘œ์ค€ ์‹œ๊ฐ„๋Œ€ ๋ฐ์ดํ„ฐ์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ง€๊ธˆ ์–ธ๊ธ‰ ๋งŒํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.
new Date().toTimeString()
๋‚ด๊ฐ€ ์‹œ๋„ํ•œ ํ•œ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

์ฆ‰,์ด ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๊ฐ„๋Œ€๋ฅผ ์ถ”์ถœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ์œ„์˜ ํ˜•์‹ ( 'z')์ด ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ˆœ๊ฐ„ ๋ฌธ์„œ์—์„œ 1.6.0์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ 2.11.0์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ 'z'๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜คํ”„์…‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹œ๊ฐ„๋Œ€ (PST / PDT)๋ฅผ ํ‘œ์‹œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ง€๊ธˆ ๋‚ด ์ฝ”๋“œ์—์„œ์ด 'z'๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๊นŒ? -/ + 8 ๋Œ€์‹  PST๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ •ํ™•ํ•œ ๋Œ€์•ˆ์„ ๋ง์”€ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

@themakshter- ์•„๋‹ˆ์š”, ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€๋Š” ๋ชปํ•ฉ๋‹ˆ๋‹ค. OS, ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „ ๋ฐ ์–ธ์–ด๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋ฉฐ ์‚ฌ์–‘์— ์ผ๊ด€์„ฑ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์—†์Šต๋‹ˆ๋‹ค.

@ Shobana16- moment().format('z') ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ํ•ญ์ƒ "" ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ˆœ๊ฐ„ ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  moment.tz('America/Los_Angeles').format('z') ์™€ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์œ ํšจํ•œ ์‘๋‹ต์„ ๋ฐ›๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

z ๋Š” ์ˆœ๊ฐ„ ์‹œ๊ฐ„๋Œ€์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ํ‰๋ฒ”ํ•œ ์ˆœ๊ฐ„์—๋Š” ์•„๋ฌด๊ฒƒ๋„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€ MJ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ, ์ˆœ๊ฐ„ ์‹œ๊ฐ„๋Œ€์—๋งŒ 'z'๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Ok cool์€ 'z'๋กœ ๋‚ด ์ฝ”๋“œ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. !

์ถ”๊ฐ€ ํ•  ์ฐธ๊ณ  ์‚ฌํ•ญ์€ moment-timezone 0.5.0๋ถ€ํ„ฐ ํ˜„์ง€ ์‹œ๊ฐ„๋Œ€์—์„œ _guess_ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ์— ๋Œ€ํ•œ ๋ฌธ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค.

var abbreviation = moment.tz(moment.tz.guess()).format('z');

๊ดœ์ฐฎ์ง€ ๋งŒ ๋‹ค์Œ ์‚ฌํ•ญ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค.

  1. ์ถ”์ธก ์ผ๋ฟ์ž…๋‹ˆ๋‹ค. ์ž˜๋ชป ์ถ”์ธก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ถ”์ธก์ด ํ‹€๋ฆฌ๋”๋ผ๋„ ์œ ์‚ฌํ•œ ์‹œ๊ฐ„๋Œ€๊ฐ€ Europe/Paris ๋ฐ Europe/Berlin ๋‘˜ ๋‹ค CET ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฐ™์ด ์œ ์‚ฌํ•œ ์‹œ๊ฐ„๋Œ€๊ฐ€ ๋™์ผํ•œ ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์•ฝ์–ด๊ฐ€ ์ •ํ™•ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. CEST .
  3. ๊ทธ๋Ÿฌ๋‚˜ ๋ณด์žฅ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ž˜๋ชป ์ถ”์ธกํ•˜๋ฉด ์ž˜๋ชป๋œ ์•ฝ์–ด๋ฅผ โ€‹โ€‹์ œ์‹œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ moment.js๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ moment-timezone์„ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ z ํฌ๋งทํ„ฐ๋ฅผ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•˜๋„๋ก ์‹œ๋„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ˜„์žฌ ์ผ์–ด๋‚˜์ง€ ์•Š์ง€๋งŒ.

var abbreviation = moment.tz(moment.tz.guess()).format('zz'); ์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค ( z ๋‘ ๊ฐœ ์‚ฌ์šฉ). "Eastern Daylight Time"์ด ์•„๋‹Œ "EDT"๋งŒ ๊ฒ€์ƒ‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌ!

Ahhh, http://momentjs.com/timezone/docs/#/using -timezones / formatting /์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ธด ํ˜•์‹ ์ด๋ฆ„์„ ์ œ๊ณตํ•˜๋ ค๋ฉด moment.fn.zoneName ์žฌ์ •์˜ํ•˜๊ณ  zz ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
[and much more...]
๊ฐ์‚ฌ.

ํ•˜์ง€๋งŒ ํ•œ ๊ฐ€์ง€๋Š” ํ˜ผ๋ž€ ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฒ„์ „ (๋˜๋Š” " 1.6.0 ๊ธฐ์ค€ ")์—์„œ๋Š” ๋ณ„๋„์˜ ์ˆœ๊ฐ„ ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์‹œ๊ฐ„๋Œ€๋ฅผ ํ‘œ์‹œ ํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ moment(...).toString() ํ•˜๋ฉด ์˜ˆ๋ฅผ ๋“ค์–ด GMT ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฒ„๊ทธ์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ํ•œ ์†”๋ฃจ์…˜์ด ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๊ณผ ๋ชจ์ˆœ๋ฉ๋‹ˆ๊นŒ?

ํ•˜์ง€๋งŒ ํ•œ ๊ฐ€์ง€๋Š” ํ˜ผ๋ž€ ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฒ„์ „ (๋˜๋Š” " 1.6.0 ๊ธฐ์ค€ ")์—์„œ๋Š” ๋ณ„๋„์˜ ์ˆœ๊ฐ„ ์‹œ๊ฐ„๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์‹œ๊ฐ„๋Œ€๋ฅผ ํ‘œ์‹œ ํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ moment(...).toString() ํ•˜๋ฉด ์˜ˆ๋ฅผ ๋“ค์–ด GMT ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฒ„๊ทธ์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ํ•œ ์†”๋ฃจ์…˜์ด ๋‹ค๋ฅธ ๊ธฐ๋Šฅ๊ณผ ๋ชจ์ˆœ๋ฉ๋‹ˆ๊นŒ?

๋ฌธ์ œ๋Š” ์‹ ๋ขฐ์„ฑ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Moment๋Š” ๋กœ์ปฌ ๋‚ ์งœ ๊ฐœ์ฒด์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์‹œ๊ฐ„๋Œ€๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์ถ”์ถœ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋” ์ด์ƒ ํ˜•์‹์—์„œ z/zz ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์œ„์—์„œ ๋…ผ์˜ :
https://github.com/moment/moment/issues/162#issuecomment -4060027

์ด๊ฒƒ์€ z ์ด ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— "GMT"ํ…์ŠคํŠธ๋ฅผ ์–ป๋Š” ๋ฐ ๋„์›€์ด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

const dateGenerated = moment("2020-05-20 08:15:25");
const localDateGenerated = dateGenerated.local().format('DD MMM YYYY hh:mm A') + ' ' + String(dateGenerated.local()._d).split(' ')[5];

20 May 2020 08:15 AM GMT+0300" ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰