๋ฌธ์ ์ ๋ํ ์ค๋ช ๋ฐ ์ฌํ ๋จ๊ณ:
๋ ์ง๋ฅผ ๊ณผ๊ฑฐ ๋ ์ง๋ก ์ค์ ํ๊ณ ์ฐ๋๋ฅผ ์๋ฌด๊ฑฐ๋ ์ค์ ํ๋ฉด ์ถ๋ ฅ ๋ ์ง๊ฐ ์๋ง์ด ๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
๋น์ ์ด ํธ์ถํ๋ฉด moment.utc("2016-07-01").year(2013).toString()
๋น์ ์ ์ป์ ๊ฒ์ด๋ค Wed Jul 31 2013 00:00:00 GMT+0000
. 7์ 1์ผ์ด ์๋๋ผ 7์ 31์ผ์์ ์ฃผ๋ชฉํ์ญ์์ค.
ํ๊ฒฝ:
๋๋ ์ด๊ฒ์ Chrome 61๊ณผ Node 5.10.1์์ ์ฌํํ์ต๋๋ค.
๋์์ด ๋ ์ ์๋ ๊ธฐํ ์ ๋ณด:
์ด๊ฒ์ 2016๋
์ ๋ ์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ง ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. moment.utc("2015-07-01").year(2013).toString()
๋ฅผ ์๋ํ๋ฉด ์ ์๋ํฉ๋๋ค.
๋๋ ์ด๊ฒ์ด ์๊ฐ 2.19.0+ ์ด์ ์ ๋ฌธ์ ๊ฐ ์๋์ ํ์ธํ ์ ์์ต๋๋ค. 2.19.0 ์ด์์์๋ง ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋๋ค.
๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ ์ค์ธ ํ๊ฒฝ์์ ๋ค์ ์ฝ๋๋ฅผ ์คํํ๊ณ ์ถ๋ ฅ์ ํฌํจํ์ญ์์ค.
console.log( (new Date()).toString())
console.log((new Date()).toLocaleString())
console.log( (new Date()).getTimezoneOffset())
console.log( navigator.userAgent)
console.log(moment.version)
Thu Oct 12 2017 23:10:36 GMT-0300 (ADT)
10/12/2017, 11:10:36 PM
180
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
2.19.1
๋ฒ์ 2.19.0์์ set$1() ํจ์๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค.
์ด ๋ณ๊ฒฝ์ผ๋ก ์ธํด ์ค๋ ์๊ฐ์ ์ํด๋ฅผ ์ค์ ํ๋ฉด ํญ์ ์์ ๋ง์ง๋ง ๋ ์ ๋ ์ง๋ก ์ค์ ํฉ๋๋ค.
moment('2010-02-25').year(2017) // result is: 2017-02-28
moment('2010-10-15').year(2017) // result is: 2017-10-31
ํ์ฌ(์๋ชป๋) ๊ตฌํ
function set$1 (mom, unit, value) {
if (mom.isValid() && !isNaN(value)) {
if (unit === 'FullYear' && isLeapYear(mom.year())) {
mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
}
else {
mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
}
}
}
ํน๋ณํ ๊ฒฝ์ฐ๋ ์ค๋ ์ 2์ 29์ผ์๋ง ํ์ํ๋ฏ๋ก ์ฌ๋ฐ๋ฅธ ๊ตฌํ์ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
function set$1 (mom, unit, value) {
if (mom.isValid() && !isNaN(value)) {
if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, 1, daysInMonth(value, 1));
}
else {
mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
}
}
}
์ด๊ฒ์ ์น๋ช ์ ์ธ ์ค๋ฅ์ด๋ฏ๋ก ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์์ ํด์ผ ํฉ๋๋ค.
์ฃ์กํฉ๋๋ค. "์ด๊ฒ์ด 1.19.0+ ์ด์ ์ ๋ฌธ์ ๊ฐ ์๋์ ํ์ธํ ์ ์์ต๋๋ค. 1.19.0+์ ๋ฌธ์ ์ผ ๋ฟ์ ๋๋ค."๋ผ๊ณ ์ผ์ง๋ง ์ค์ ๋ก๋ 2.19๋ฅผ ์๋ฏธํ์ต๋๋ค... ์๋ ๊ฒ์๋ฌผ์์ ์ด๊ฒ์ ์ ๋ฐ์ดํธํ์ต๋๋ค.
@HolgerFrank ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ณ๊ฒฝ ์ฌํญ๊ณผ ํจ๊ป PR์ ์ ์ถํ์๊ฒ ์ต๋๊น? ๋นจ๋ฆฌ ๊ณ ์ณ์ผ ํ ์์ฃผ ์น๋ช ์ ์ธ ๋ฒ๊ทธ์ ๋๋ค..
ํธ์ง: PR์ ์ ์ถํ๋๋ฐ ๊ธฐ๋ค๋ฆด ์ ์์์ต๋๋ค.
PR์ ์ํด ๋ง๊ฐํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@HolgerFrank ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ณ๊ฒฝ ์ฌํญ๊ณผ ํจ๊ป PR์ ์ ์ถํ์๊ฒ ์ต๋๊น? ๋นจ๋ฆฌ ๊ณ ์ณ์ผ ํ ์์ฃผ ์น๋ช ์ ์ธ ๋ฒ๊ทธ์ ๋๋ค..
ํธ์ง: PR์ ์ ์ถํ๋๋ฐ ๊ธฐ๋ค๋ฆด ์ ์์์ต๋๋ค.