(λ²μ 2.13.0)
ISO νμ€μ dateTime λ¬Έμμ΄μμ 'Z' μμ μμ μ΄λ₯Ό νμ©ν©λλ€. .net νλ«νΌμ μμμ μ΄ν 7μ리λ₯Ό μ¬μ©νλ κ²μΌλ‘ 보μ
λλ€. λ°λ©΄ moment.js λΌμ΄λΈλ¬λ¦¬λ μμμ μ΄ν 3μ리κΉμ§λ§ ꡬ문 λΆμν©λλ€.
λλ μμμ΄κ° μμ± κ°μ²΄μμ μ 체 7μ리 μ«μλ₯Ό κ°μ Έμ€κΈ° μν΄ ν¬λ§·ν°(toISOString())λ₯Ό ν¨μΉνμ§λ§ μ΄κ²μ λμ°ν ν΄νΉμ λλ€. νμλ₯Ό ν¨μΉνλ κ²μ΄ ν¨μ¬ λ λμ κ²μ λλ€. κ·Έλ¬λ νμ¬ μ΄ν΄νκ³ μμ§ μμ΅λλ€.
μλ§λ λ€λ₯Έ ν΄κ²° λ°©λ²μ΄ μμ΅λκΉ?
Moment.jsλ JavaScriptμ Date κ°μ²΄μ λν λνΌμ΄λ―λ‘ μμμ μ΄ν μΈ μ리(λ°λ¦¬μ΄)λ‘ μ νλ©λλ€. μ΄κ²μ λ μ§ κ°μ²΄κ° μ§μνλ μ λΆμ΄κΈ° λλ¬Έμ λ μ΄μ μ μ₯ν λ°©λ²μ΄ μμ΅λλ€. κ·Έλ¬λ νμνκ±°λ ꡬ문 λΆμν μμμ μ΄ν 7μ리λ₯Ό μ»κΈ° μν΄ μμμ΄ ν¨μΉλ₯Ό ν νμλ μμ΅λλ€. μ²μ μΈ κ°λ§ μ€μ λ‘ μ¬μ©λλ€λ μ μ μ μνμμμ€.
moment('2016-01-01T05:21:22.1234567Z').format('YYYY-MM-DDTHH:mm:ss.SSSSSSS')
"2015-12-31T23:21:22.1230000"
μΆλ ₯μ 0μΌλ‘ μ±μμ Έ μμ§λ§ μλ°©ν₯μΌλ‘ 7μ리 μ«μκ° μμ΅λλ€.
맀기,
Ah. I hadn't realised this was a limitation of Javascript.
I had found the option for formatting that you had mentioned - but
λλ₯Ό μν΄ λλ κ·Έ μ¬λΆμ μ«μκ° μ λ§λ‘ νμν©λλ€. μ λ‘λ μΆ©λΆνμ§ μμ΅λλ€.
My 'monkey patch' looks at the creationData for the moment and
μλμΌλ‘ μ
λ ₯ λ¬Έμμ΄μμ λ°λ¦¬μ΄λ₯Ό ꡬ문 λΆμν©λλ€(μΈ κ²½μ°
μ¬μ© κ°λ₯).
//Monkey patch the moment library to use 7 decimal places for seconds in it's standard ISO format - to match C#
moment.fn._oldToISOString = moment.fn.toISOString;
moment.fn.toISOString = function () {
try {
var originalDateSplit = moment(this).creationData().input.split(".");
var milliseconds = originalDateSplit[originalDateSplit.length - 1];
if (milliseconds.indexOf(this.milliseconds()) === 0) {
return moment(this).format('YYYY-MM-DD[T]HH:mm:ss.') + milliseconds + "Z";
} else {
return moment(this)._oldToISOString();
}
} catch (error) {
return moment(this)._oldToISOString();
}
}
μλ¦λ΅μ§ μμ΅λλ€.
μλ ISO λ μ§ λ¬Έμμ΄μμ ꡬ문 λΆμλμμ΅λλ€. μμ λͺ¨μμ΄κ² μ§
milliseconds() ν¨μλ‘ λ λμ μμ΄λμ΄λ μ°¨λ¨νλ κ²μ
λλ€
νλ‘μΈμ€λ₯Ό ꡬ문 λΆμνκ³ μμμ μ΄ν μ΄λ₯Ό λ³λμ μμ±μΌλ‘ κ°μ Έμ΅λλ€.
μκ° κ°μ²΄ - νμμ λ°λΌ λ°νν μ μμ΅λλ€.
However - I do appreciate that we are moving beyond the scope of the
μ΄ μμ μμ moment.js λΌμ΄λΈλ¬λ¦¬ - λ μ΄μ λνΌκ° μλλλ€.
μλ°μ€ν¬λ¦½νΈ λ μ§ κ°μ²΄.
Perhaps we could make this limitation a little clear in the moment.js
μ μ μλ₯ λΉμΉ? μ§κΈμ λ°λ¦¬μ΄ μλ₯΄κΈ°κ° μμλμ΄ μμ΅λλ€.
μμ μ½λμ΄μ§λ§ λͺ
μμ μΌλ‘ μ€λͺ
λμ§ μμ - λ€μκ³Ό κ°μ μ€λͺ
μ μμ΅λλ€.
μ μ΄λ° μμΌλ‘ νλνλμ§.
Thank you for your help Maggie - it is much appreciated.
λ¬Έμ μΈμ¬,
λ²€ ν΄μμ¨μ΄
μννΈμ¨μ΄ κ°λ°μ
DATUM - μ§λ° 곡ν λ° κ΅¬μ‘° λͺ¨λν°λ§
μλ νμΈμ @maggiepint μ λλ€ .
λλ κ°μ κ²μ μ°Ύκ³ μμ΅λλ€. moment.js
λ₯Ό ν΅ν΄ λλ²κΉ
ν ν zerofill
ν¨μλ₯Ό νΈμΆνλ κ²μΌλ‘ λνλ¬μ΅λλ€.
κ²°κ³Ό κ°μ λ¬Έμμ΄μ΄λ―λ‘ 0μΌλ‘ μ±μμ§λ μ΄μ λ₯Ό λͺ¨λ₯΄κ² μ΅λλ€.π€π€π€
μλ₯Ό λ€μ΄ λ€μκ³Ό κ°μ΅λλ€.
const value = 1596099230963;
const formatString = 'MM/DD/YYYY HH:mm:ss.SSSSSS';
const val = moment.utc(value).format(formatString);
console.log(val);
κ·Έκ²μ μΈμ 07/30/2020 08:53:50.963000
λμ 07/30/2020 08:53:50.963939
λν moment.js
μ μ΄μ λ²μ μ μ΄ 0 μ±μ°κΈ°(μ: λ²μ 2.5)λ₯Ό μννμ§ μλ κ²μΌλ‘ λνλ¬μ΅λλ€.
moment.js
μ λ³κ²½ μ¬νμ΄ μνλμ§ μλ ν λ μ§μ μ¬λ°λ₯Έ μ 보λ₯Ό μ μ§νλ €λ©΄ μ§κΈ μ¬μ©μ μ§μ ν¬λ§·ν°λ₯Ό μμ±ν΄μΌ ν©λλ€. μ°λ¦¬κ° μ΄ λ³νλ₯Ό λ§λ€ μ μλ κΈ°νκ° μμ΅λκΉ?
κ°μ₯ μ μ©ν λκΈ
맀기,
λλ₯Ό μν΄ λλ κ·Έ μ¬λΆμ μ«μκ° μ λ§λ‘ νμν©λλ€. μ λ‘λ μΆ©λΆνμ§ μμ΅λλ€.
μλμΌλ‘ μ λ ₯ λ¬Έμμ΄μμ λ°λ¦¬μ΄λ₯Ό ꡬ문 λΆμν©λλ€(μΈ κ²½μ°
μ¬μ© κ°λ₯).
//Monkey patch the moment library to use 7 decimal places for seconds in it's standard ISO format - to match C# moment.fn._oldToISOString = moment.fn.toISOString; moment.fn.toISOString = function () { try { var originalDateSplit = moment(this).creationData().input.split("."); var milliseconds = originalDateSplit[originalDateSplit.length - 1]; if (milliseconds.indexOf(this.milliseconds()) === 0) { return moment(this).format('YYYY-MM-DD[T]HH:mm:ss.') + milliseconds + "Z"; } else { return moment(this)._oldToISOString(); } } catch (error) { return moment(this)._oldToISOString(); } }
μλ¦λ΅μ§ μμ΅λλ€.
μλ ISO λ μ§ λ¬Έμμ΄μμ ꡬ문 λΆμλμμ΅λλ€. μμ λͺ¨μμ΄κ² μ§
milliseconds() ν¨μλ‘ λ λμ μμ΄λμ΄λ μ°¨λ¨νλ κ²μ λλ€
νλ‘μΈμ€λ₯Ό ꡬ문 λΆμνκ³ μμμ μ΄ν μ΄λ₯Ό λ³λμ μμ±μΌλ‘ κ°μ Έμ΅λλ€.
μκ° κ°μ²΄ - νμμ λ°λΌ λ°νν μ μμ΅λλ€.
μ΄ μμ μμ moment.js λΌμ΄λΈλ¬λ¦¬ - λ μ΄μ λνΌκ° μλλλ€.
μλ°μ€ν¬λ¦½νΈ λ μ§ κ°μ²΄.
μ μ μλ₯ λΉμΉ? μ§κΈμ λ°λ¦¬μ΄ μλ₯΄κΈ°κ° μμλμ΄ μμ΅λλ€.
μμ μ½λμ΄μ§λ§ λͺ μμ μΌλ‘ μ€λͺ λμ§ μμ - λ€μκ³Ό κ°μ μ€λͺ μ μμ΅λλ€.
μ μ΄λ° μμΌλ‘ νλνλμ§.
λ¬Έμ μΈμ¬,
λ²€ ν΄μμ¨μ΄
μννΈμ¨μ΄ κ°λ°μ
DATUM - μ§λ° 곡ν λ° κ΅¬μ‘° λͺ¨λν°λ§