Moment: iso ν˜•μ‹κ³Ό 일치 ν•  λ•Œ meridiem ν‘œμ‹œκΈ°λ₯Ό μ°ΎμœΌμ‹­μ‹œμ˜€.

에 λ§Œλ“  2016λ…„ 02μ›” 23일  Β·  15μ½”λ©˜νŠΈ  Β·  좜처: moment/moment

# 2983에 μ œμ‹œλœλŒ€λ‘œ λ‚ μ§œ ν˜•μ‹ "2016-02-23 11:31:23 PM"을 μ‚¬μš©ν•˜λ©΄ 그렇지 μ•Šλ”λΌλ„ ISO ν˜•μ‹κ³Ό μΌμΉ˜ν•©λ‹ˆλ‹€. 이둜 인해 잘λͺ»λœ λ‚ μ§œκ°€ ꡬ문 λΆ„μ„λ©λ‹ˆλ‹€.

moment('2016-02-23 11:31:23 PM').format() = "2016-02-23T11:31:23-06:00"

μ΄λŠ” 2016-02-23 11:31:23 기술적으둜 ISO ν˜•μ‹μ΄κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.
메리 λ””μ—  인디케이터λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄ from-string νŒŒμΌμ„ λ³€κ²½ν•΄μ•Όν•˜λ©°, μ‘΄μž¬ν•˜λŠ” 경우 ISO ν˜•μ‹κ³Ό μΌμΉ˜ν•˜λŠ” 것 μ΄μ™Έμ˜ μž‘μ—…μ„ μˆ˜ν–‰ν•΄μ•Όν•©λ‹ˆλ‹€.

Bug Forgiving parsing

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

μ•„μ•Ό! ν™•μ‹€νžˆ λˆ„κ΅°κ°€λ₯Ό 물릴 것 κ°™λ„€μš”. 지원 쀑단 경고도 μ—†μŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ extendedIsoRegex 및 basicIsoRegex 끝에 $ λ₯Ό μΆ”κ°€ν•˜μ—¬ ISO 검사기가 λ¬Έμžμ—΄ λκΉŒμ§€ μ΄λ™ν•˜λŠ”μ§€ ν™•μΈν•˜λŠ” κ²ƒλ§ŒμœΌλ‘œλ„ μΆ©λΆ„ν•©λ‹ˆλ‹€.

@icambron λ‚˜λŠ” μš°λ¦¬κ°€ 그것을 ν•  수 μžˆλ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν˜„μž¬ λ‹€μŒ ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν–ˆμŠ΅λ‹ˆλ‹€.

    assert.ok(moment('2016-01-01 is my date').isValid(), 'test extra chars after iso date')

세상에 λˆ„κ΅°κ°€κ°€ κ·Έλ ‡κ²Œν•˜κ³  μžˆλ‹€λŠ” 것은 거의 ν™•μ‹€ν•©λ‹ˆλ‹€. μ •κ·œμ‹μ„ λ³€κ²½ν•˜λ©΄ ν•΄λ‹Ή ν…ŒμŠ€νŠΈκ°€ μ‹€νŒ¨ν•©λ‹ˆλ‹€ (아직 사λƒ₯ν•˜μ§€ μ•Šμ€ λͺ‡ 가지 λ‹€λ₯Έ ν…ŒμŠ€νŠΈμ™€ ν•¨κ»˜).

음 μ•Œμ•˜μ–΄. λ‚΄ 생각은 지원을 μ€‘λ‹¨ν•˜κ³  AM / PM 문제λ₯Ό ν•΄κ²°ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μš°λ¦¬κ°€ moment('2016-01-01 is my date') _ μ§€μ›ν•΄μ•Όν•˜λŠ” 이유λ₯Ό λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 이것에 λŒ€ν•΄ 쑰금 생각 ν•΄μ™”κ³ , μš°λ¦¬κ°€λ³΄κ³ μžˆλŠ” νŒŒμ„œ 문제 쀑 일뢀에 λŒ€ν•œ κ°€μž₯ 덜 침슡적 인 λŒ€λ‹΅μ΄ μ‹€μ œλ‘œ νŒŒμ„œλ₯Ό 엄격 λͺ¨λ“œλ‘œ κΈ°λ³Έ μ„€μ •ν•˜λŠ” 것이 μ•„λ‹κΉŒ κΆκΈˆν•©λ‹ˆλ‹€. νŒŒμ‹± β€‹β€‹λ¬Έμ œλ₯Ό μš©μ„œν•˜λŠ” 것 (μ΄κ²ƒμ²˜λŸΌ)은 엄격 λͺ¨λ“œλ‘œ μ „ν™˜ν•˜μ—¬ ν•΄κ²°λ˜λŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€ (μ‚¬μš©μžκ°€ μ²˜μŒμ— 엄격 λͺ¨λ“œλ₯Ό μ‚¬μš© ν–ˆμ–΄μ•Όν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€). μ•„λ§ˆλ„ 이것이 'μ‚¬λžŒλ“€μ΄ μ„±κ³΅μ˜ ꡬ덩이에 빠지도둝 λ•λŠ” 것'쀑 ν•˜λ‚˜μΌκΉŒμš”? 그러면 κΈ°μ‘΄ κΈ°λŠ₯이 κ°€λŠ₯ν•΄ μ§€μ§€λ§Œ 개발자λ₯Ό μ˜¬λ°”λ₯Έ 경둜둜 λ°€μ–΄ λ„£μŠ΅λ‹ˆλ‹€.

λ™μ˜ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” μ˜€λž«λ™μ•ˆ κ·Έλ ‡κ²Œν•˜κ³  μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” μ˜€λž«λ™μ•ˆ κ°€λŠ₯ν•œ 3.0 ν•­λͺ©μœΌλ‘œ λ‚˜μ—΄λ˜μ—ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ ν™•μ‹€νžˆ automagic one-arg μ„œλͺ…을 μ—„κ²©ν•˜κ²Œν•˜λŠ” 것은이λ₯Ό ν–₯ν•œ μž‘μ€ λ‹¨κ³„μž…λ‹ˆλ‹€.

μ‹€μ œλ‘œ 였늘 기본적으둜 기본적으둜 true둜 μ„€μ • ν•œ globalStrictλΌλŠ” ν† κΈ€ κ°€λŠ₯ν•œ μ „μ—­ μƒνƒœ λ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜μ—¬ 엄격 λͺ¨λ“œ 코딩을 μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€. 엄격 λͺ¨λ“œ 섀정은 λ‹€μŒμ„ ν˜ΈμΆœν•˜μ—¬ λ‹€μ‹œ false둜 μ „ν™˜ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

moment.globalStrict(false)

μ΄λ ‡κ²Œν•˜λ©΄ λͺ¨λ“  ν˜ΈμΆœμ„ μˆœκ°„μ˜ νŒŒμ„œλ‘œ λ³€κ²½ν•  ν•„μš”μ—†μ΄ λͺ¨λ“  것이 항상 그랬던 κ²ƒμ²˜λŸΌ μž‘λ™ν•©λ‹ˆλ‹€.
μ΄λ ‡κ²Œ λ³€κ²½ν•˜λ €λ©΄ μ•½ 4 μ€„μ˜ μ½”λ“œκ°€ ν•„μš”ν•©λ‹ˆλ‹€. 그런 λ‹€μŒ 수백 개의 λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό μˆ˜μ •ν•΄μ•Όν•©λ‹ˆλ‹€. :-)
ν•˜μ§€λ§Œ 이것은 v3λ₯Ό 기닀릴 ν•„μš”μ—†μ΄ 기본적으둜 μ—„κ²©ν•˜κ²Œ λ‘€μ•„μ›ƒν•˜λŠ” 방법 일 수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžκ°€ μ‰½κ²Œ 되돌릴 수 있기 λ•Œλ¬Έμ— λ„ˆλ¬΄ λ§Žμ€ λΆˆλ§Œμ—†μ΄ λ³€κ²½ 사항을 λ°›μ•„ 듀일 수 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

λ˜λŠ” globalStrict 섀정은 기본적으둜 false둜 μ„€μ • 될 수 있으며 κ°œλ°œμžκ°€ λ¬Έμ„œμ—μ„œμ΄λ₯Ό true둜 μ„€μ •ν•˜λ„λ‘ κ°•λ ₯히 ꢌμž₯ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 덜 침슡적이며 도움이 될 수 μžˆμŠ΅λ‹ˆκΉŒ?
λ‚˜λŠ” ν…ŒμŠ€νŠΈ κ°€λŠ₯μ„± κ΄€μ μ—μ„œ μ „μ—­ μƒνƒœ λ³€μˆ˜κ°€ SUCK라고 λ§ν•˜λŠ” 첫 번째 μ‚¬λžŒμ΄ 될 것이며, κ·Έ 이유만으둜이 μ•„μ΄λ””μ–΄λŠ” 끔찍할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ μ œμ•ˆ λœλŒ€λ‘œ 엄격 λͺ¨λ“œμ— λŒ€ν•œ κΈ°λ³Έ 단일 인수 ν˜ΈμΆœμ„ μˆ˜ν–‰ ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜λ„ μ—¬μ „νžˆ JS λ‚ μ§œ κ΅¬μ„±μœΌλ‘œ λŒμ•„κ°€λŠ” 수천 λͺ…μ˜ μ‚¬λžŒλ“€μ„ ν™”λ‚˜κ²Œ ν•  κ²ƒμž…λ‹ˆλ‹€.

ν•œ 가지λ₯Ό μ œμ™Έν•˜κ³ λŠ” λͺ¨λ‘ μ’‹μ•„ν•©λ‹ˆλ‹€.

κ·Έλž˜λ„ μ—¬μ „νžˆ JS λ‚ μ§œ κ΅¬μ„±μœΌλ‘œ λŒμ•„κ°€λŠ” 수천 λͺ…μ˜ μ‚¬λžŒλ“€μ„ ν™”λ‚˜κ²Œ ν•  κ²ƒμž…λ‹ˆλ‹€.

λͺ…ν™•ν•˜κ²Œ λ§ν•˜λ©΄, λ‚΄ μ œμ•ˆμ€ can't-fall-back-to-JS-constructor deprecation을 끝내지 μ•ŠλŠ” 것이 μ—ˆμŠ΅λ‹ˆλ‹€. 사싀 κ·Έ λ°˜λŒ€μž…λ‹ˆλ‹€.이 경우 μš°λ¦¬λŠ” κ·Έλ ‡κ²Œν•˜κ³  μ‹Άμ§€λ§Œ ISO 검사가 우리λ₯Ό μ„ μ ν•©λ‹ˆλ‹€.

κ·Έλž˜μ„œ, 당신은 κΈ€λ‘œλ²Œ μƒνƒœλ₯Ό μ‹œλ„ ν•  κ²ƒμž…λ‹ˆκΉŒ, μ•„λ‹ˆλ©΄ 그것을 ν”Όν•  것이라고 λ§ν•˜λŠ” κ²ƒμž…λ‹ˆκΉŒ? λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό 마치고 PRμ„ν•˜κ³  거기에 λŒ€ν•΄ 이야기 ν•  μˆ˜μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

λ―Έμ•ˆν•©λ‹ˆλ‹€. μ €λŠ” λΆˆλΆ„λͺ…ν–ˆμŠ΅λ‹ˆλ‹€. μ €λŠ” κΈ€λ‘œλ²Œ ꡭ가에 λ°˜λŒ€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 그것이 μƒνƒœκ°€ μ„€μ •λ˜μ§€ μ•Šμ•˜λ”λΌλ„ moment(string) 의 ISO 검사λ₯Ό 항상 μ—„κ²©ν•˜κ²Œ λ§Œλ“œλŠ” 것을 λ°°μ œν•˜μ§€ μ•ŠλŠ”λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

@maggiepint μ˜¬λ°”λ₯Έ μŠ€λ ˆλ“œλ₯Ό
그리고 당신은 μœ„μ—μ„œ λ‚΄κ°€ "κ·Έ λ°–μ—μžˆλŠ” μ‚¬λžŒλ“€ 쀑 ν•˜λ‚˜"라고 μ •ν™•ν•˜κ²Œ λ§ν–ˆμ£ .
moment("2016-04-06Tnull").isValid()
μˆœκ°„μ΄ 잘λͺ»λœ λ¬Έμžμ—΄μ„ κ±°λΆ€ ν•  κ²ƒμ΄λΌλŠ” 확신을 가지고 μžˆμŠ΅λ‹ˆλ‹€.

κ·Έλ ‡λ‹€λ©΄ 기본적으둜 μ—„κ²©ν•œ ꡬ문 뢄석을 ν™œμ„±ν™”ν•˜λŠ” κ°€μž₯ μ‰¬μš΄ 방법은 λ¬΄μ—‡μž…λ‹ˆκΉŒ? (κ²ŒμœΌλ¦„)

@Aukhan μš°λ¦¬λŠ” λ¨Όμ € μˆ˜μ •ν•΄μ•Όν•˜λŠ” 엄격 λͺ¨λ“œ ꡬ문 뢄석 문제둜 인해 μ „μ—­ 엄격을 κ΅¬ν˜„ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. (κ·ΈλŸ¬λ‚˜ μš°λ¦¬λŠ” 아직 거기에 도달 ν•  수 μžˆμŠ΅λ‹ˆλ‹€).

μˆ˜ν–‰μ€‘μΈ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λ €λ©΄ μ½”λ“œμ—μ„œ ISO_8601 μƒμˆ˜ 및 엄격 λͺ¨λ“œλ₯Ό 인라인으둜 μ§€μ •ν•˜κΈ° λ§Œν•˜λ©΄λ©λ‹ˆλ‹€.

moment("2016-04-06Tnull", moment.ISO_8601, true).isValid()
false

@maggiepint λ‹΅μž₯에 λ‹€μ‹œ ν•œλ²ˆ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€ ...

그것은 쒋은 μ œμ•ˆμ΄μ§€λ§Œ ISO_8601뿐만 μ•„λ‹ˆλΌ λ‹€λ₯Έ μ‚¬μš©μž μ •μ˜ ν˜•μ‹μ΄ μ‚¬μš©λ˜λŠ” 수백 개의 ν‘œν˜„μ‹μ„ λ°”κΎΈκ³  싢지 μ•ŠμœΌλ―€λ‘œ μ „μ—­ 엄격 μ˜΅μ…˜μ΄ 있으면 쒋을 것 κ°™μŠ΅λ‹ˆλ‹€.
λ‚˜λŠ” μ½”λ“œλ² μ΄μŠ€λ₯Ό μ‘°μ‚¬ν•˜κΈ° μ‹œμž‘ν–ˆμ§€λ§Œ λΆ„λͺ…νžˆ κ·Έλ ‡κ²Œ κ±°λŒ€ν•˜κ³  ν›Œλ₯­ν•œ μž‘μ—…μ€ ν•˜λ£»λ°€ 사이에 이해할 수 μ—†μŠ΅λ‹ˆλ‹€.

ν•„μš”ν•œ 기술이 없을 μˆ˜λ„ μžˆμ§€λ§Œ μ–΄λ–€ 식 μœΌλ‘œλ“  도움이 ν•„μš”ν•˜λ©΄ μ•Œλ €μ£Όμ‹­μ‹œμ˜€.
감사 !

@Aukhan μž‘μ—… ν•­λͺ©μ„ λ‹€μ‹œ 선택할 수 μ—†λŠ”μ§€ ν™•μΈν•˜κ² μŠ΅λ‹ˆλ‹€. λ¬Έμ œλŠ” μž‘λ™ν•˜λ €λ©΄ PR # 3078을 λ³‘ν•©ν•΄μ•Όν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έλž˜μ„œ μ²˜μŒμ— 물건이 λ–¨μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.

# 3502에 μ°¬μ„±ν•˜μ—¬ 마감

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