Moment: startOf('day')/endOf('day')κ°€ UTC둜 μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2014λ…„ 01μ›” 24일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: moment/moment

ν˜„μ§€ μ‹œκ°„μ„ μ‚¬μš©ν•  λ•Œ startOf('day')/endOf('day') ν•¨μˆ˜λŠ” μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•˜μ§€λ§Œ UTC μ‹œκ°„μ„ μ‚¬μš©ν•˜λ©΄ 값이 ν˜„μ§€ μ‹œκ°„μ²˜λŸΌ μ²˜λ¦¬λ©λ‹ˆλ‹€.

http://jsfiddle.net/3d9eU/5/

μˆœκ°„.lang('nl');
var t1 = μˆœκ°„(); // ν˜„μ§€ μ‹œκ°
var t2 = t1.clone().utc(); // UTC

console.log('LOC valueOf = ' + t1.valueOf()); //1390557395517 -> 확인
console.log('UTC valueOf = ' + t2.valueOf()); // 1390557395517 -> 확인

console.log('LOC μ’…λ£ŒμΌ valueOf = ' + t1.endOf('일').valueOf()); //1390604399999 -> 확인
console.log('UTC μ’…λ£ŒμΌ valueOf = ' + t2.endOf('일').valueOf()); //1390607999999 -> μ•ˆλ¨

console.log('LOC μ’…λ£ŒμΌ _d = ' + t1.endOf('일')._d); //2014λ…„ 1μ›” 24일 κΈˆμš”μΌ 23:59:59 GMT+0100(W. 유럽 ν‘œμ€€μ‹œ) -> 확인
console.log('UTC μ’…λ£ŒμΌ _d = ' + t2.endOf('일')._d); //2014λ…„ 1μ›” 25일 ν† μš”μΌ 00:59:59 GMT+0100(W. 유럽 ν‘œμ€€μ‹œ) -> NOT OK

μΉœμ• ν•˜λŠ”,
λΉ„μš˜

Troubleshooting

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

m.utc().endOf('day') 이 ν˜„μ§€ μ‹œκ°„μ΄ μ•„λ‹Œ UTC둜 ν•˜λ£¨λ₯Ό λ§ˆκ°ν•˜λŠ” 이유λ₯Ό λ¬»λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 그것은 λ””μžμΈμ— μ˜ν•œ κ²ƒμž…λ‹ˆλ‹€. utc() λŠ” "μ‹œκ°„μ„ UTC둜 μ·¨κΈ‰"을 μ˜λ―Έν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œ ν•˜λ£¨μ˜ 끝은 23:59:59 _UTC_둜 μ„œμœ λŸ½μ—μ„œ 1μ‹œκ°„ ν›„μž…λ‹ˆλ‹€. offset() μž‘λ™ 방식과 λ™μΌν•©λ‹ˆλ‹€. μˆœκ°„μ΄ νŠΉμ • UTC μ˜€ν”„μ…‹μ— 있으면 ν•΄λ‹Ή μž‘μ—…μ΄ ν•΄λ‹Ή μ»¨ν…μŠ€νŠΈμ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€.

즉, 이듀은 맀우 λ‹€λ₯Έ 것을 λ§ν•©λ‹ˆλ‹€(μ €λŠ” λ―Έκ΅­ 동뢀 ν•΄μ•ˆμ— μžˆμŠ΅λ‹ˆλ‹€).

moment().utc().endOf('day').toString(); //=> "Sat Jan 25 2014 23:59:59 GMT+0000"
moment().endOf('day').utc().toString(); //=> "Sun Jan 26 2014 04:59:59 GMT+0000"

도움이 되기λ₯Ό λ°”λžλ‹ˆλ‹€.

λͺ¨λ“  3 λŒ“κΈ€

λͺ¨λ©˜νŠΈμ˜ 버전은 λ¬΄μ—‡μž…λ‹ˆκΉŒ? d λŠ” Moment 개체의 속성이 μ•„λ‹™λ‹ˆλ‹€(적어도 더 이상). _d κ°€ μžˆμŠ΅λ‹ˆλ‹€. 이것은 λΆ„λͺ…νžˆ μ°Έμ‘°ν•΄μ„œλŠ” μ•ˆ 되며 μ—¬κΈ°μ—μ„œ 크게 μ˜€λ„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‹€μ œ λ¬Έμ œλŠ” λ‹€μŒκ³Ό 같이 잘 μž‘λ™ν•©λ‹ˆλ‹€.

moment().utc().endOf('day').format(); //=> '2014-01-24T23:59:59+00:00'

κ·Έλž˜μ„œ 선사 μ‹œλŒ€ 버전에 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆκΉŒ?

버전 2.5.0을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

'_d' 속성은 디버깅 쀑에 Moment에 ν¬ν•¨λœ 값을 ν™•μΈν•˜λŠ” 데 μ‚¬μš©ν•©λ‹ˆλ‹€. (μ˜€ν•΄ν•΄μ„œ μ£„μ†‘ν•©λ‹ˆλ‹€.) κ·ΈλŸ¬λ‚˜ 이 속성이 ν˜„μ§€ μ‹œκ°„κ³Ό UTC에 λŒ€ν•΄ λ‹€λ₯Έ μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? λ‘˜ λ‹€ ν˜„μ§€ μ‹œκ°„μ˜ 경우 +0100, UTC의 경우 +0000 λŒ€μ‹  +0100 μ‹œκ°„λŒ€λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. http://jsfiddle.net/3d9eU/5/ μ°Έμ‘°

ν˜„μ§€ μ‹œκ°„: 2014λ…„ 1μ›” 24일 κΈˆμš”μΌ 23:59:59 GMT+0100(μ„œλΆ€ 유럽 ν‘œμ€€μ‹œ)
UTC: 2014λ…„ 1μ›” 25일 ν† μš”μΌ 00:59:59 GMT+0100(μ„œλΆ€ 유럽 ν‘œμ€€μ‹œ)이 2014λ…„ 1μ›” 24일 κΈˆμš”μΌ 23:59:59 GMT+0100(μ„œλΆ€ 유럽 ν‘œμ€€μ‹œ)이 μ•„λ‹ˆμ–΄μ•Ό ν•©λ‹ˆλ‹€(속성 _isUTC = true). ?

m.utc().endOf('day') 이 ν˜„μ§€ μ‹œκ°„μ΄ μ•„λ‹Œ UTC둜 ν•˜λ£¨λ₯Ό λ§ˆκ°ν•˜λŠ” 이유λ₯Ό λ¬»λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 그것은 λ””μžμΈμ— μ˜ν•œ κ²ƒμž…λ‹ˆλ‹€. utc() λŠ” "μ‹œκ°„μ„ UTC둜 μ·¨κΈ‰"을 μ˜λ―Έν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œ ν•˜λ£¨μ˜ 끝은 23:59:59 _UTC_둜 μ„œμœ λŸ½μ—μ„œ 1μ‹œκ°„ ν›„μž…λ‹ˆλ‹€. offset() μž‘λ™ 방식과 λ™μΌν•©λ‹ˆλ‹€. μˆœκ°„μ΄ νŠΉμ • UTC μ˜€ν”„μ…‹μ— 있으면 ν•΄λ‹Ή μž‘μ—…μ΄ ν•΄λ‹Ή μ»¨ν…μŠ€νŠΈμ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€.

즉, 이듀은 맀우 λ‹€λ₯Έ 것을 λ§ν•©λ‹ˆλ‹€(μ €λŠ” λ―Έκ΅­ 동뢀 ν•΄μ•ˆμ— μžˆμŠ΅λ‹ˆλ‹€).

moment().utc().endOf('day').toString(); //=> "Sat Jan 25 2014 23:59:59 GMT+0000"
moment().endOf('day').utc().toString(); //=> "Sun Jan 26 2014 04:59:59 GMT+0000"

도움이 되기λ₯Ό λ°”λžλ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰