μμμ κ°μ moment(value)
μ λ¬νλ©΄ #1407μ λ°λΌ μ¬μ© μ€λ¨ κ²½κ³ κ° μμ±λ©λλ€.
μ΄ κ΅¬λ¬Έ λΆμμ μ¬μ©ν μ μλ λ°©λ²μ΄ μμ§λ§ Date μμ±μλ‘ λμκ°μ§ μμΌλ©΄ μ λ§ μ’μ κ²μ λλ€. μ§κΈκΉμ§ λ΄κ° μ°Ύμ μ μΌν λ°©λ²μ μλΉν μν¬λ₯Έ κ²μ λλ€.
if (moment.isDate(value)) {
return moment(value);
} else {
return moment(value, moment.ISO_8601);
}
κ·ΈλΌμλ λΆκ΅¬νκ³ μ΄κ²μ μ¬μ ν ββASP.net /Date(1198908717056)/
λ¬Έμμ΄μ ꡬ문 λΆμνμ§ μμ΅λλ€.
κ°μ₯ κ°λ¨ν μ΅μ
μ moment(value, true)
λ κ°μ μΈμ νμμΌλ‘ strict μ΅μ
μ νμ©νλ κ²μ
λλ€.
κ°μ¬ ν΄μ.
λͺ νννκΈ° μν΄ μ격 λͺ¨λλ₯Ό μ¬μ©νμ§ μκ³ κ²½κ³ λ₯Ό νμνμ§ μκ³ λ체λ₯Ό λΉνμ±ννλ λ°©λ²μ μꡬνκ³ μμ΅λλ€. λ§μ΅λκΉ?
μ, moment()
μ§μνλ λͺ¨λ κ²μ μλμΌλ‘ ꡬ문 λΆμνκ³ μΆμ§λ§ λͺ¨λ μ€ν¨νλ©΄ κ²½κ³ λ₯Ό μΈμνκ³ Date
μμ±μλ₯Ό μ¬μ©νλ λμ μλͺ»λ λ μ§λ₯Ό μμ±νκΈ°λ₯Ό μν©λλ€.
μ¬μ©λμ§ μλ Date
μμ±μ ν΄λ°±μ΄ μμ ν μ κ±°λλ ν₯ν λ²μ μ moment
λμμ μ μ μ μΌλ‘ μ ννκ³ μΆμ΅λλ€.
μ격 λͺ¨λκ° λ¬΄μμ μλ―Ένλμ§ μ νν λͺ¨λ₯΄κ² μ΅λλ€. moment(value, 'YYYY-MM-DD')
μ κ°μ μ νν νμμ μ λ¬ν λλ₯Ό μλ―Έν©λκΉ? κ·Έλ λ€λ©΄ 1. μμ²λκ² μ₯ν©νκ³ 2. moment(value)
κ° Date
μμ±μμ μμ‘΄νκΈ° μ μ ꡬ문 λΆμν μ μλ λͺ¨λ νμμ΄ μ¬μ ν ν¬ν¨λμ΄ μμ§ μκΈ° λλ¬Έμ λμμ΄ λμ§ μμ΅λλ€.
Strict λͺ¨λλ true
λ₯Ό λ§μ§λ§ 맀κ°λ³μλ‘ μ λ¬νμ¬ νμ±νλ©λλ€. λ¬Έμμ μμ΅λλ€. κΈ°λ³Έμ μΌλ‘ λ¬Έμμ΄μ΄ _exactly_ νμκ³Ό μΌμΉν΄μΌ ν¨μ μλ―Έν©λλ€.
moment(String)
μ§μ μ§μνλ νμμ΄ λ¬Έμμ λμ΄λμ΄ μκΈ° λλ¬Έμ μ΄κ²μ μ격 λͺ¨λμ λμΌνκ² μκ°νλ κ²μ΄ μ’μ΅λλ€. μ¦, moment(String, Boolean)
ν©λλ€.
κ·Έλ κ·Έκ² μ’κ² λ€. κ°μ¬ ν΄μ.
@SystemParadox μ, μνλ κ²μ΄ μ§μλ©λλ€. moment.createFromInputFallback(config)
μ¬μ μνλ©΄ λ©λλ€.
moment.createFromInputFallback = function (config) {
config._d = new Date(NaN);
}
λλ κ·Έκ²μ΄ μ¬μνμ§ μλ€λ λ° λμνμ§λ§ κ°λ₯ν©λλ€ ;-)
λμμ΄ λμ§λ§ μ€μ μ μ μμ μΌλ‘ λ³κ²½ν©λλ€.
μ½λλ² μ΄μ€λ₯Ό ν λ²μ ν νΈμΆμ© μ μ§μ μΌλ‘ λ§μ΄κ·Έλ μ΄μ νλ €λ©΄ μ΄λ»κ² ν©λκΉ?
moment(String, true)
λν μ§μμ μΆκ°ν μ μλ μ΄μ λ 무μμ
λκΉ?
λ€μ μ΄λ©΄ ν΄κ²° λ°©λ²μ΄ μμ§λ§ κ³΅κ° APIμ μ΄λ₯Ό μ¬μ©νλ©΄ λ€μν μ¬μ© μ¬λ‘μ λμμ΄ λ κ²μ λλ€. λ΄μ₯ νμμ λν μ ν¨μ± κ²μ¬λ₯Ό μμ²νλ #2535λ κ³ λ €νμμμ€.
νμν κ²μ moment.JS_DATE μμμ
λλ€. μ¦, new Date
μ
λ ₯μ μ λ¬νκ³ https://github.com/moment/moment/issues/1686μ νμΈ
@SystemParadox λμμ΄ λ κ²½μ°λ₯Ό λλΉνμ¬ κ·νμ λΉμ·ν λ¬Έμ κ° μμκ³ λ€μκ³Ό κ°μ λνΌ κΈ°λ₯μ λ§λ€μμ΅λλ€.
function disableNativeDateFallback(config) {
config._d = new Date(parseFloat('NaN')); // an invalid date
}
function makeMomentWrapper(momentFn) {
return function() {
var prevFallback = moment.createFromInputFallback;
moment.createFromInputFallback = disableNativeDateFallback;
var result = momentFn.apply(null, arguments);
moment.createFromInputFallback = prevFallback;
return result;
}
};
var momentStrict = makeMomentWrapper(moment);
momentStrict.utc = makeMomentWrapper(moment.utc);
createFromInputFallback
μ μ κ΅μ²΄ν λ€μ λ€λ₯Έ μ½λμ μν₯μ λ―ΈμΉμ§ μλλ‘ λ°ννκΈ° μ μ 볡μνμ¬ μλν©λλ€. λ§μ΄κ·Έλ μ΄μ
ν μ€λΉκ° λ λͺ¨λ μ½λλ moment
λ° moment.utc
λμ momentStrict
λ° momentStrict.utc
λ₯Ό μ¬μ©ν μ μμΌλ©° λλ¨Έμ§λ κ·Έλλ‘ μ¬μ©ν μ μμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
@SystemParadox λμμ΄ λ κ²½μ°λ₯Ό λλΉνμ¬ κ·νμ λΉμ·ν λ¬Έμ κ° μμκ³ λ€μκ³Ό κ°μ λνΌ κΈ°λ₯μ λ§λ€μμ΅λλ€.
createFromInputFallback
μ μ κ΅μ²΄ν λ€μ λ€λ₯Έ μ½λμ μν₯μ λ―ΈμΉμ§ μλλ‘ λ°ννκΈ° μ μ 볡μνμ¬ μλν©λλ€. λ§μ΄κ·Έλ μ΄μ ν μ€λΉκ° λ λͺ¨λ μ½λλmoment
λ°moment.utc
λμmomentStrict
λ°momentStrict.utc
λ₯Ό μ¬μ©ν μ μμΌλ©° λλ¨Έμ§λ κ·Έλλ‘ μ¬μ©ν μ μμ΅λλ€.