์ด ๋๊ธ์๋ณด๊ณ ๋ ๋์ผํ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค. https://github.com/angular/angular.js/pull/3474#issuecomment -23241136
๋๋ ๋ํ ํธ์ฃผ / ์๋๋์ ์์ต๋๋ค.
--force
๋ก ๊ฑด๋ ๋ธ ์ ์์์ง๋ง ๊ธฐ๋ถ์ ๋ํ ๊นจ๋ํ ๊ฑด๊ฐ ์ฒญ๊ตฌ์๋ฅผ๋ฐ๋ ๊ฒ์ด ์ข์ ๊ฒ์
๋๋ค!
Chrome 31.0.1650 (Mac OS X 10.9.0) ngMock TzDate should fake getHours method FAILED
Expected 4 to be 3.
Error: Expected 4 to be 3.
at null.<anonymous> (/Users/brett/scm/github/angular.js/test/ngMock/angular-mocksSpec.js:60:29)
Expected 1 to be 0.
Error: Expected 1 to be 0.
at null.<anonymous> (/Users/brett/scm/github/angular.js/test/ngMock/angular-mocksSpec.js:64:29)
Expected 22 to match 21.
Error: Expected 22 to match 21.
at null.<anonymous> (/Users/brett/scm/github/angular.js/test/ngMock/angular-mocksSpec.js:68:29)
ํ ๋ฆฌํ์คํธ์ ์ง๋ฆฌ์ ์์น ์ ๋ณด๋ฅผ ์ถ๊ฐํด์ผํ ๊น์?
ํธ์ฃผ์์ ํ ์คํธ๋ฅผ ์คํํ ๋ ๋น์ทํ ์คํ ์ถ์ ์ด ๋ํ๋ฉ๋๋ค.
(92:86:sษพหษวdssสษoษฏ-ษนษlnฦuษ/สษoษฏฦu/สsวส/sษพหษนษlnฦuษ/qnษฅสฤฑฦ/ษฏษs/สสวษนq/sษนวsn/) <snoษฏสuouษ>หllnu สษ
ห12 ษฅษสษษฏ oส 22 pวสษวdxว :ษนoษนษนว
ห12 ษฅษสษษฏ oส 22 pวสษวdxว
(92:46:sษพหษวdssสษoษฏ-ษนษlnฦuษ/สษoษฏฦu/สsวส/sษพหษนษlnฦuษ/qnษฅสฤฑฦ/ษฏษs/สสวษนq/sษนวsn/) <snoษฏสuouษ>หllnu สษ
ห0 วq oส 1 pวสษวdxว :ษนoษนษนว
ห0 วq oส 1 pวสษวdxว
(92:06:sษพหษวdssสษoษฏ-ษนษlnฦuษ/สษoษฏฦu/สsวส/sษพหษนษlnฦuษ/qnษฅสฤฑฦ/ษฏษs/สสวษนq/sษนวsn/) <snoษฏสuouษ>หllnu สษ
ห3 วq oส 4 pวสษวdxว :ษนoษนษนว
ห3 วq oส 4 pวสษวdxว
pวlฤฑษษ poษฅสวษฏ sษนnoษฅสวฦ วสษษ plnoษฅs วสษpzส สษoษฏฦu (0ห9ห01 x so ษษษฏ) 0561ห0ห13 วษฏoษนษฅษ
(๋ชจ๋ ์ง์งํ๊ฒ ๋ฌธ์ ๋ฅผ ๋์๊ฒ ํ ๋นํ๊ณ ์ดํด๋ณผ ๊ฒ์ ๋๋ค)
ํธ์ฃผ ์ฌํ์ ๋น์ฉ์ด๋ค ์ ์๋ค๋ฉด ์ง์ ์ฒ๋ฆฌ ํ ์ํฅ์ด ์์ต๋๋ค. :)
๋ด์ง๋๋์์๋ ๊ฐ์ ๋ฌธ์ ์ ๋๋ค.
์ ๊ทธ๋ฐ์ง ์ดํด๊ฐ ์ ๋ผ์. TzDate mock์ ์๊ฐ๋์ ๊ตฌ์ ๋ฐ์ง ์๋๋ก ํน๋ณํ ์ ์๋์์ต๋๋ค.
๋ก์ปฌ ์ค์ ์ ๊ธฐ๋ฐ์ผ๋ก ์คํ์ ์ ๊ณ์ฐ ํ ๋ค์ ๋ชจ๋ ์๊ฐ๋์์ ๋์ผํ๊ฒ ๋ ์ง๋ฅผ ์กฐ์ ํฉ๋๋ค. ์ฐธ์กฐ : https://github.com/angular/angular.js/blob/547871e779f7a1e340c03296405735415764a0e8/src/ngMock/angular-mocks.js#L647 -L649
ํธ์ฃผ์ ๋ด์ง๋๋๋ฅผ ์ ์ธํ ๋ชจ๋ ์๊ฐ๋์์ ์ด๊ฒ์ด ์ ์๋ํ๋ ์ด์ ๋ฅผ ์ดํดํ ์ ์์ต๋๋ค. ์ด๋ค ์์ด๋์ด?
@IgorMinar ์๋ ํ์ธ์! ํ๋๋ง ๊ฐ์ํ ๋ ์ด๊ฒ์ DST ๋ฌธ์ ๋ก ๋ณด์ ๋๋ค (DST๋ฅผ ์ฐ์ตํ์ง ์๋ ๋ธ๋ฆฌ์ฆ๋ฒ์ผ๋ก ์ด์ฌํ๋ฉด ํ ์คํธ๊ฐ ํต๊ณผ๋ฉ๋๋ค). ํฌ์ธํฐ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋์์ด๋๋ ๋จ์์์ต๋๋ค. ํ ๋ฆฌํ์คํธ๋ฅผ ์์ฑํ๊ฒ ์ต๋๋ค.
์ค์ ๋ก ์ถ๊ฐ ์กฐ์ฌ์์ ์ด๊ฒ์ ๊ฐ๋ ํ ์คํธ์ ๋ฒ๊ทธ์ฒ๋ผ ๋ณด์ด์ง ์์ต๋๋ค. ์๋ง๋ ๋ค์ดํฐ๋ธ ๋ฌธ์ ์ผ ๊ฒ์ ๋๋ค. DST๋ 1971 ๋ ํธ์ฃผ์์ ์์๋์์ผ๋ฏ๋ก UNIX ์๋๋ 10:00 UTC + 10, 1/1/70์ด์์ต๋๋ค.
๊ทธ๋ฌ๋ ์์ ์คํ์ ์ ์ฌ์ฉํ๋ ํ ์คํธ์์ ์ด๋ฌํ ์คํ์ ์ +10 ๋์ +11๋ก ์๊ฐ๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๊ฒ์ ๋ ธ๋์์๋ ๋ณผ ์ ์์ต๋๋ค.
$ node
> new Date(0)
Thu Jan 01 1970 10:00:00 GMT+1000 (EST)
> new Date(-36000000)
Thu Jan 01 1970 01:00:00 GMT+1100 (EST)
> new Date(1970, 0, 1)
Thu Jan 01 1970 00:00:00 GMT+1100 (EST)
> new Date(1970, 0, 1, 1, 0, 0)
Thu Jan 01 1970 01:00:00 GMT+1100 (EST)
๊ฒฐ๊ณผ๋ ๋ด๊ฐ ์ ์ด ํ ์์๋ ์กฐ๊ฑด์์ ํฌ๊ฒ ๋ฌ๋ผ์ง๋ ๊ฒ ๊ฐ์ต๋๋ค. Safari๋ ์ฌ์ง์ด ์๋ก์ด Date (0)์์๋ ์๋ชป ์ธ์ํ๊ณ , ์ฌํ ํ ์์๋ ์ผ๋ถ ์กฐ๊ฑด์๋ ์ผ๋ถ Chrome ํญ (์นด๋ฅด๋ง์์์ ๊ฐ์ด ์๋ก์ด ํญ์ด ์๋)์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํฉ๋๋ค. .
ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ํ ์คํธ๋ฅผ ๋ณ๊ฒฝํ์ฌ ์์๊ฐ๋์ง ์๋ ๋ ์ง๋ฅผ ๋ณํํ๋ ๊ฒ์ ๋๋ค. ์ฝ๊ฐ์ ๋ฌธ์ ์ด์ง๋ง ํ ์คํธ๋ฅผ ๋ฌดํจํํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋๋ ์ด๊ฒ์ด ES5 15.9.1.8 (https://es5.github.io/#x15.9.1.8) ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
"ECMAScript์ ๊ตฌํ์ ์ ํํ ์๊ฐ์ด ์ผ๊ด ์ ์ฝ ์๊ฐ์ ์ํฅ์ ๋ฐ๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ค๊ณ ์๋ํด์๋ ์๋๋ฉฐ, ํ์ฌ ์ผ๊ด ์ ์ฝ ์๊ฐ ์๊ณ ๋ฆฌ์ฆ์ด ํด๋น ์๊ฐ์ ์ฌ์ฉ ๋์๋ค๋ฉด ์ผ๊ด ์ ์ฝ ์๊ฐ์ด ์ ์ฉ๋์๋์ง ์ฌ๋ถ ๋ง ํ์ธํด์ผํฉ๋๋ค. ์ด๋ ๊ฒํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๋ฐฉ์ง ํ ์ ์์ต๋๋ค. ๋ก์ผ์ผ์ด ์ฐ์ค ์ผ๊ด ์ ์ฝ ์๊ฐ์ ๋ฅผ ์ค์ํ ์ฐ๋๋ฅผ ๊ณ ๋ คํฉ๋๋ค.
ํธ์คํธ ํ๊ฒฝ์ด ์ผ๊ด ์ ์ฝ ์๊ฐ์ ๊ฒฐ์ ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒฝ์ฐ ECMAScript์ ๊ตฌํ์ ํธ์คํธ ํ๊ฒฝ์ด ์ ๊ณตํ๋ ๋๋ฑํ ์ฐ๋ (๋์ผํ ์ค๋ ๋ฐ ๋์ผํ ์์ ์์ผ)์ ํด๋น ์ฐ๋๋ฅผ ์์ ๋กญ๊ฒ ๋งคํ ํ ์ ์์ต๋๋ค. ์ผ๊ด ์ ์ฝ ์๊ฐ ์ ๋ณด. ์ ์ผํ ์ ํ์ ๋์ผํ ๋ชจ๋ ์ฐ๋๊ฐ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํด์ผํ๋ค๋ ๊ฒ์ ๋๋ค. "
๋ค๋ฅธ JS ์์ง์ ๋ก์ปฌ ์๊ฐ๋ ์กฐ์ ๊ณผ ๊ด๋ จํ์ฌ 1970 ๋ ๋ฏธ๋ง์ ๋ ์ง๋ฅผ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํฉ๋๋ค. ์ผ๋ถ ์์ง์ 1970 ๋ ๋ฏธ๋ง์ ์ฐ๋๋ฅผ ๋ ํ๋์ ์ธ ์ฐ๋๋ก ๋งคํํ๋ฏ๋ก ๊ทธ ๋น์ ํธ์ฃผ๊ฐ DST๋ฅผ ์ค์ํ์ง ์์์์๋ ๋ถ๊ตฌํ๊ณ DST๊ฐ ์ ์ฉ๋ ๋ ์ง๋ฅผ ๋ณด๋ ์ด์ ๋ฅผ ์ค๋ช ํ ์ ์์ต๋๋ค.
์ฐธ์กฐ : https://bugzilla.mozilla.org/show_bug.cgi?id=351066#c20 ๋ฐ https://bugzilla.mozilla.org/show_bug.cgi?id=1029923
+1
Lol (์ฃ์กํฉ๋๋ค)
HN.YC์์ ์์ต๋๋ค. ์ฌ๋ฐ ๋ค์! : D ์์
+1-์ต๊ณ ์ ๋ฒ๊ทธ ์ ๊ณ !
+1 ํธ์ฃผ๋ ๋ค์ด์ ์คํธ ๋ฃจํ๋ฅผ ๋ฐ์์ต๋๋ค.
์ด๋ ์ฌ์์ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๋ถ๋ช ํ ๋ฌธ์ ๋ ์์ ๋ฐฉ๋ฒ์ ๋๋ค. ECMAscript ์ฌ์์ ๋ฐ๋ฅด๋ฉด ์ค๋๋ ์ DST๋ ์ง๋ ๋ช ๋ ๋์ ์ ์ฉ๋์ด์ผํ๋ค๊ณ ๋ช ์๋์ด ์์ง๋ง ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด, ํนํ ์ฌ์ฉ์๋ ๋ค๋ฅธ ๋์์ ๊ธฐ๋ํฉ๋๋ค.
๋๊ตฐ๊ฐ๊ฐ ์ด์ DST ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํํ๊ณ ๋ฐ๋ผ์ ๋ฌธ์ ๋ฅผ ์์ ํ๋ Date ์ฃผ์์ ๋ํผ๋ฅผ ์์ฑํด์ผํ๊ฑฐ๋ ๋ค๋ฅธ ์๋ฃจ์ ์ ์ฐพ์์ผํฉ๋๋ค. ์ด๋ ๊ฒ์ด ๋ ์ข์์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ฌ์ฉ์์๊ฒ๋ ํ์ฌ ์๋ฃจ์ ์ด ํ์คํ ํผ๋ ์ค๋ฝ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
ํธ์ฃผ์์ ํ ์คํธ๋ฅผ ์คํํ ๋ ๋น์ทํ ์คํ ์ถ์ ์ด ๋ํ๋ฉ๋๋ค.
(๋ชจ๋ ์ง์งํ๊ฒ ๋ฌธ์ ๋ฅผ ๋์๊ฒ ํ ๋นํ๊ณ ์ดํด๋ณผ ๊ฒ์ ๋๋ค)