λ‘μΌμΌ μμ€ νμΌμ μ΄ν΄λ³΄λ μ°λ μ 보 μμ΄ μ, μΌλ§ νμνλ νμμ μ°Ύμ μ μμμ΅λλ€. locale/zh-cn.js νμΌμ ν μ
longDateFormat : {
LT : 'AhηΉmmε',
LTS : 'AhηΉmεsη§',
L : 'YYYY-MM-DD',
LL : 'YYYYεΉ΄MMMDζ₯',
LLL : 'YYYYεΉ΄MMMDζ₯AhηΉmmε',
LLLL : 'YYYYεΉ΄MMMDζ₯ddddAhηΉmmε',
l : 'YYYY-MM-DD',
ll : 'YYYYεΉ΄MMMDζ₯',
lll : 'YYYYεΉ΄MMMDζ₯AhηΉmmε',
llll : 'YYYYεΉ΄MMMDζ₯ddddAhηΉmmε'
},
λͺ©λ‘ νμμλ λͺ¨λ μ°λκ° μμ΅λλ€. LM λλ lm: 'MMMDζ₯'κ³Ό κ°μ νμμ μ§μν μ μμ΅λκΉ?
μ‘°μΈ λΆνλ립λλ€.
νμ¬ μκ³Ό μΌλ§ μλ νμ§νλ νμ ν ν°μ μ 곡νμ§ μμ΅λλ€. λ€μν λ‘μΌμΌμμ μ΄λ₯Ό νμνλ λ°©λ²μ΄ λ κ°μ§ μ΄μ μμ μ μμΌλ―λ‘ μ΄λ₯Ό μν΄μλ λ°μ΄ν°μ μλΉν νμ₯μ΄ νμν©λλ€.
λ‘μΌμΌ νμμ λ§μΆλ λμ μ¬μ©μ μ§μ νμμ μ¬μ©νλ κ²μ΄ λ μ¬μΈ κ²μ λλ€.
μ΄λ° νμλ νμν©λλ€.
λͺ¨λ λ€λ₯Έ λ‘μΌμΌμμ μμ ν΄μΌ νλ―λ‘ μ¬μ©μ μ μλ‘ λ§λ€κ³ μΆμ§ μμ΅λλ€. :)
μ¬κΈ°λ λ§μ°¬κ°μ§μ λλ€.
κ·Έκ²μ κ³ λ €νκΈ° μν΄ Intl.DateTimeFormat μ ꡬνμ΄ μ΅μν λ€μ νμ μ§ν©μ μ§μν΄μΌ νλ€κ³ λ§ν©λλ€: (...) μ, μΌ(...). κ΄λ ¨μ΄ μμ μλ μμ§λ§ λ‘μΌμΌλ³ λ©μμ§μ λν΄ κ³ λ €νλ κ²μ΄ μ€μν©λλ€.
λ°©κΈ λͺ¨λ μΈμ΄ νμΌμ 보μκ³ λλΆλΆμ μΈμ΄μ λν΄ μ΄κ²μ λ§€μ° μ¬μ΄ κ² κ°μ΅λλ€...
@ mj1856 μ΄ μμ
μ μμνλ λ°©λ²μ λν μμ΄λμ΄κ° μμ΅λκΉ?
@kaljak νμμ μΆκ°νλ κ²μ μ½μ§λ§ μ£Όμ΄μ§ μΈμ΄λ‘ μ΄κ²μ μ¬λ°λ₯΄κ² νννλ λ°©λ²μ λν λ°μ΄ν°λ μ΄λμμ μ»μ΅λκΉ? μ΄λ₯Ό μκΈ° μν΄μλ CLDRκ³Ό μ μ¬ν μΆμ² λλ ν΄λΉ μΈμ΄λ₯Ό ꡬμ¬νλ μ¬λμ΄ νμν©λλ€.
μ¬κΈ°μμ κ°μ Έμ¬ μ μμ΅λλ€: http://i18ndata.appspot.com/cldr/tags/unconfirmed/main/en/dates/calendars/gregorian/dateTimeFormats/availableFormats?action=browse ?
λν μ¬κΈ°μμ: https://github.com/andyearnshaw/Intl.js/blob/master/locale-data/json/ λλ https://github.com/unicode-cldr/cldr-dates-full/ ( μ¬κΈ°μλ μλ μκ°μ λν 짧μ/μ’μ λ²μ λ ν¬ν¨λμ΄ μμ΄ ν° λμμ΄ λ©λλ€. :)).
κ΄λ ¨μ΄ μμ§λ§ μΈμ κ°λ Intl.DateTimeFormat
μμ λ‘μΌμΌ νΉμ νμμ νμνκ³ νΉμ λ‘μΌμΌ λ°μ΄ν°λ₯Ό ν¬ν¨νμ§ μλ κ²μ΄ ν©λ¦¬μ μΌ μ μμ΅λλ€.
μ΄κ²λ νμν©λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ μ΄ μ κ·μμ μ¬μ©ν©λλ€.
moment().format('L').replace(new RegExp('[^\.]?' + moment().format('YYYY') + '.?'), '')
λ€μ λ³νμ μνν©λλ€.
05/04/2017 -> 05/04(μ: λ―Έκ΅, GB)
2017-04-03 -> 04-03(μ: swe)
2017λ
8μ 7μΌ -> 8.7. (μ: μ§λλ¬λ―Έ)
μ΄κ²μ +1.
μ°λ¦¬ μΉμ¬μ΄νΈλ νμ§νλ νμμΌλ‘ λ€μκ³Ό κ°μ κ²μ 보μ¬μ€λλ€.
Jan 5
λ€μκ³Ό κ°μ μ€νμΈμ΄μ κ°μ μΈμ΄λ‘ μ΄ λ¬Έμμ΄μ νμνλ μ’μ λ°©λ²μ μμ΅λλ€.
5 de Jan
μ°λ ν
μ€νΈλ₯Ό μλ₯΄μ§ μκ³ μΈμ΄ μ°¨μ΄λ‘ μΈν΄ μ μ§ κ΄λ¦¬ν μ μλ κ²μ²λΌ 보μ
λλ€.
μ¦ moment().locale('es')format('ll') // 5 de Jan de 2018
@stenvala λ©μ§ μ루μ !
.format('ll')
μ ν¨κ» μ¬μ©ν λ ,
μ λ―Έμ¬λ₯Ό μ»μ΅λλ€. μμ λ΄μ©μ μμ νμ¬ μ κ±°νλ €λ©΄ μ΄λ»κ² ν΄μΌ ν©λκΉ?
μ: Jan 29, 2018
-> Jan 29,
λλ κ°μ μꡬμ λΆλͺμ³€κ³ μ§μλλ λ°©μ λμ μ λ€μ μ½λλ₯Ό λ΄ μλΉμ€ λ΄μμ μ¬μ©νκ³ ν νλ¦Ώμμ μ¬μ©νκΈ° μν΄ Angular νμ΄νλ‘ λννλ λμ°λ―Έ ν΄λμ€μ λ£μμ΅λλ€. κ·νμ λ§μΌλ¦¬μ§λ λ§€μ° λμ μ μμ§λ§ λͺ¨λ λ‘μΌμΌ νμΌμ κ²ν νμΌλ©° μλ‘μ΄ μ λ° μΌ νμμ κΈ°μ΄λ‘ "ll" νμμ μ¬μ©νλ λͺ¨λ λ€λ₯Έ μμ΄μ μ»μλ€κ³ μκ°ν©λλ€. λλ en, es, hy-am, hu, cv, ja, lvμ κ°μ λ‘μΌμΌμ λν΄ ν μ€νΈνμ΅λλ€. κ°κ°μλ μ μ΄λ¦μ μ λμ½λ λ¬Έμλ₯Ό ν¬ν¨νμ¬ ν₯λ―Έλ‘μ΄ μμ΄μ΄ μμμ΅λλ€.
if (format.indexOf("YYYY") === 0) {
// In some locales, the Year is presented first, along with various punctuation (period, comma) as well as sometimes
// hard coded words in brackets. The RegEx below strips everything off that shouldn't be there related to the YYYY prefix.
return format.replace(/YYYY(\.)?(\s)?(\[([^\x00-\x7F]|\w)+\])?(\s)?/gi, '');
}
// In other locales, the year is presented at the end (or almost end). It can have various punctuation around it as well
// as hard coded words in brackets. The RegEx below strips everything off that shouldn't be there related to the YYYY suffix.
return format.replace(/(\s)?,?(\[([^\x00-\x7F]|\w)+\])?(\s)?YYYY.*/gi, '');
νμ΄μ λΉλλ€!
μΆμ - μ λ RegEx μ λ¬Έκ°κ° μλλ©° μμ ννμ μ΅μ μ λ€νμ΅λλ€. μλνλ κ²μ²λΌ 보μ΄μ§λ§ μ΅μ νλ μ μμ΅λλ€.
λλ κ²°κ΅ λ΄κ° μνλ κ²μ μ»κΈ° μν΄ .format('MMMDo')
νμ§λ§ μΌλ°μ μ΄μ§λ μμ§λ§ μ κ²½μ°μλ μ μλν©λλ€.
π
λ§μ μΈμ΄μ λν νμ μ§μ κ·μΉμ΄ μλ λ°μ΄ν° μμ€λ₯Ό μ¬μ©νλ κ²μ μ΄λ»μ΅λκΉ? λλ¨Έμ§ μΈμ΄λ μ리 νμμ ν μ€νΈ p.exλ₯Ό μ»μ΅λλ€. 'μλ κ°λ°μ. κ·νμ μΈμ΄ νμμ moment.js νλ‘μ νΈμ λ³΄κ³ νμμμ€. κ°μ¬ ν΄μ'
λ°λΌμ μΌλΆ κ°λ°μκ° μ§§μ λ μ§ λ¬Έμμ΄μ΄ νμνκ³ μ΄λ₯Ό μ¬μ©νλ κ²½μ° μ΄ μμ²μ λ°κ³ μμ²μ λ°λΌ κ°κ²©μ΄ λ«νλλ€.
λ€μμ Intl μ μ¬μ©νλ λ λ€λ₯Έ ν΄κ²° λ°©λ²μ
λλ€. options
κ°μ²΄λ₯Ό μ¬μ©μ μ μνμ¬ μνλ νμμ μ»μΌμμμ€. Intl.DateTimeFormatμ λ¬Έμμ΄μ λͺ¨λ μ§μνλ μμμ μ§μ ꡬλΆμλ₯Ό μ²λ¦¬ν©λλ€.
const localizedDateMonthNoYear = (moment) => {
if (window && window.Intl && window.Intl.DateTimeFormat) {
let options = {
weekday: 'short',
month: 'short',
day: '2-digit',
}
return new Intl.DateTimeFormat('default', options).format(moment.toDate())
}
return moment.format('ll');
}
3λ λμ moment.jsκ° λ μ§/μκ° νμν λΌμ΄λΈλ¬λ¦¬λ‘μ μμ ν κ²μΌλ‘ κ°μ£Όλλ κ²μ λ°©ν΄νλ μ€μν λ¬Έμ μ λν μμ§μμ΄ μμ΅λλ€... μ²μ²ν νμ€μ΄ λκ³ μλ Intl APIμ κ°μ¬λ립λλ€.
Moment.js ν΅μ¬ κ°λ°μ μ€ μΌλΆλ μ΄μ TC39 μ μμ λν΄ μμ νκ³ μμ΅λλ€. λΉμ μ΄ μ³μκΈ° λλ¬Έμ ν΅μ¬ μΈμ΄μ μ΄ κΈ°λ₯ μ€ μΌλΆλ₯Ό ν¬ν¨νμ§ μλ μ΄μ λ 무μμ λκΉ?
JS Dateμ toLocaleDateString λ©μλλ₯Ό μ¬μ©ν μ μμ΅λλ€. μ
const getFormattedDateTime = dateTime => dateTime.toLocaleDateString('ru-RU', {
month: 'short',
day: 'numeric',
hour: 'numeric',
minute: 'numeric',
})
https://momentjs.com/docs/#/ -project-status/ μ°Έμ‘°
μ°λ¦¬λ μλ‘μ΄ ν ν°μ μΆκ°νμ§ μμ κ²μ λλ€.
κ°μ₯ μ μ©ν λκΈ
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ μ΄ μ κ·μμ μ¬μ©ν©λλ€.
moment().format('L').replace(new RegExp('[^\.]?' + moment().format('YYYY') + '.?'), '')
λ€μ λ³νμ μνν©λλ€.
05/04/2017 -> 05/04(μ: λ―Έκ΅, GB)
2017-04-03 -> 04-03(μ: swe)
2017λ 8μ 7μΌ -> 8.7. (μ: μ§λλ¬λ―Έ)