Moment: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рдореЗрдВ рдкрд▓ рдЬреЗрдПрд╕ рдореЗрдВ рд▓реЛрдХреЗрд▓ рдХреИрд╕реЗ рдмрджрд▓реЗрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЬрдире░ 2018  ┬╖  21рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: moment/moment

рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣реА рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

import moment from 'moment' 
import 'moment/min/moment-with-locales' 
import 'moment-duration-format' // used by moment  
componentDidMount () {  
 console.log(moment.locale())   
 console.log(moment.locale('zh-cn'))    
 console.log(moment.locale())  
} 

рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯ: рдПрди, рдПрди, рдПрди
рдЕрдкреЗрдХреНрд╖рд┐рдд рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯ: en, zh-cn, zh-cn

рдЬрдм рдореИрдВрдиреЗ 'рдкрд▓' рд╕реЗ рдЖрдпрд╛рдд рдкрд▓ рдХреЛ 'рдкрд▓/рдорд┐рдирдЯ/рдкрд▓-рд╕рд╛рде-рд╕реНрдерд╛рдиреАрдп' рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рд▓рд╛рдЗрди рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ:

const total = moment.duration(this.props.stoveUsage.total, 'seconds').format('H:mm', { trim: false })

рддреНрд░реБрдЯрд┐: рдХреНрд╖рдгрд╡рд┐рдерд▓реЛрдХреЗрд▓рд╕2.рдбрд┐рдлрд╝реЙрд▓реНрдЯ.рдЕрд╡рдзрд┐ (...)ред рдкреНрд░рд╛рд░реВрдк рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ

Troubleshooting Up-For-Grabs

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

import 'moment/min/moment-with-locales'

рдЙрд╕рдиреЗ рдЪрд╛рд▓ рдЪрд▓реА!

moment.locale('fr'); moment().format("ll");

рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ "1 f├йvr. 2018" рдореЗрдВ рдкрд░рд┐рдгрд╛рдоред

рд╕рднреА 21 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╣реБрдП рдХрд┐, рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдореЗрдВ moment.locale('es') рдХрд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИред

import 'moment/min/moment-with-locales'

рдЙрд╕рдиреЗ рдЪрд╛рд▓ рдЪрд▓реА!

moment.locale('fr'); moment().format("ll");

рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ "1 f├йvr. 2018" рдореЗрдВ рдкрд░рд┐рдгрд╛рдоред

рдпрджрд┐ рдЖрдк moment-with-locales рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рднреА рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкрд▓-рдкрд▓ рдкрд░ рд╡рд╛рдкрд╕ рд░реЛрд▓рд┐рдВрдЧ v2.18 рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред рдкрд▓ v2.20 рдХреЗ рд╕рд╛рде рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрдЧ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА рдореЗрдВ рд▓реЛрдХреЗрд▓ рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИред

@ рд▓реАрдбреНрд╕-рдИ-рдмреБрдХреНрд╕ рдХреНрдпрд╛ рдЖрдк рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдкрд▓ рдХреИрд╕реЗ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ? рдореИрдВ 2.18 рдкрд░ рд╡рд╛рдкрд╕ рд▓реБрдврд╝рдХ рдЧрдпрд╛ рдФрд░ рдлрд┐рд░ рднреА рдореБрдЭреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдореВрд▓ рдореЗрдВ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рдХреЛ рдкрд▓-рдкрд▓-рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдзрдиреНрдпрд╡рд╛рдж

@msvestre рд╣рд╛рдБ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдЕрдм рдкреБрд░рд╛рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рднреА, рдореЗрд░рд╛ рдлрд┐рдХреНрд╕ рд╣реИ:

  • рд╕реАрдзреЗ npm . рд╕реЗ moment рдХреЗ рдмрдЬрд╛рдп git рд╕реЗ https://github.com/tqc/moment.git#no-dynamic-import рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
  • рдлрд┐рд░:
import moment from 'moment'

import 'moment/src/locale/en-gb'
import 'moment/src/locale/es'
import 'moment/src/locale/fr'
import 'moment/src/locale/pl'
import 'moment/src/locale/pt'
// ...etc

// bonus trick!
import DeviceInfo from 'react-native-device-info'
const deviceLocale = DeviceInfo.getDeviceLocale()
moment.locale([deviceLocale, 'en'])

рдореИрдВ рдпрд╣реА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@ рд▓реАрдбреНрд╕-рдИ-рдмреБрдХреНрд╕ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ред рдЖрдкрдХреА рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрдж рдХреА

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛,
https://momentjs.com/docs/#/i18n/instance -locale/

рдЖрдкрдХреЛ App.js рдкрд░ рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рд╕рднреА рд╢рдмреНрджреЛрдВ рдХреЛ рднрд╛рд╖рд╛ рдореЗрдВ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╣ рдЖрдкрдХреЗ рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

@ рд╡реИрдиреЗрд╕рд╛рдЪреВ - рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрднреА рднреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ?

рдпрд╣ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рд╣реЗ рд▓реЛрдЧреЛрдВ, import 'moment/locale/fr'; рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреИрд╕реЗ рд╕рднреА рдореМрдЬреВрджрд╛ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк import 'moment/locale/[variable]' рдЬреИрд╕реЗ рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЪрд╛рд▓ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЖрд╡рд╢реНрдпрдХ рднрд╛рд╖рд╛ рд╣реИ?
рддрд╛рдХрд┐ рдпрд╣ рд╣рд░ рджреЗрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗ... :/

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрд░реНрдЪрд╛ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдиреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ :) рдзрдиреНрдпрд╡рд╛рдж @Leeds-eBooks

3.x рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЧрддрд┐рд╢реАрд▓ рдЖрдпрд╛рдд/es6 рдХреЗ рд╕рд╛рде/рдмрд┐рдирд╛ рдкрд▓ рдХреЗ рдЕрдзрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдХрдо рд╣реИред

рд╣реИрд▓реЛ @MayeuldP ,
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк Reactjs/ReactNative рдореЗрдВ рдХреНрд╖рдгреЛрдВ рдХреА рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рдорд╛рдзрд╛рди рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЖрдкрдХреЛ рд╕рдВрд╕реНрдХреГрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕реНрдХреГрддрд┐ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ : import 'moment/min/locales' рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЖрдк рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рд╕рдВрд╕реНрдХреГрддрд┐ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдХреНрд╖рдг.рд╕реНрдерд╛рдиреАрдп ('') рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ v2.18 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд╡рд┐рдзрд┐ рдХрд╛рдо рдХрд░рддреА рд╣реИред

import moment from 'moment';
import momentFR from 'moment/src/locale/fr' 
moment.locale('fr',momentFR );

рдирдорд╕реНрддреЗ, @KashifAhmed v.2.22.2 рдореЗрдВ рдЖрдкрдХреЛ рдореЛрдореЗрдВрдЯ.рдЕрдкрдбреЗрдЯрд▓реЛрдХреЗрд▓ ('рдПрдлрдЖрд░', рдореЛрдореЗрдВрдЯрдПрдлрдЖрд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдкрджрд╛рд╡рдирддрд┐ рдЪреЗрддрд╛рд╡рдиреА: рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╕реНрдерд╛рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдг.рдЕрдкрдбреЗрдЯрд▓реЛрдХреЗрд▓ (рд▓реЛрдХреЗрд▓рдирд╛рдо, рдХреЙрдиреНрдлрд┐рдЧ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХреНрд╖рдг.defineLocale(localeName, config) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдПрдХ рдирдпрд╛ рд╕реНрдерд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП http://momentjs.com/guides/#/warnings/define -locale/ рджреЗрдЦреЗрдВред

рдЗрд╕реЗ рджреЗрдЦреЛ:

import moment from "moment";
import 'moment/min/locales'

рдЗрд╕рдореЗрдВ рдкрд▓ рд╕реЗ рд╕рднреА рднрд╛рд╖рд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдпрд╣ рдЬреЗрдПрд╕ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕рдорд╕реНрдпрд╛ рдереА рдЬрдм рдХреЛрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрд╛рд╖рд╛ рд╡рд╛рд▓реЗ рдореЛрдмрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдРрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддрд╛ рдерд╛ред

рдЗрд╕рд╕реЗ рдЖрдк рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдкрд▓-рдкрд▓ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЛрдИ рднреА рд▓реЛрдХреЗрд▓ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ,

moment.locale('es');

рдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд┐рдП рдмрд┐рдирд╛ рдбрд┐рд╡рд╛рдЗрд╕ рд▓реЛрдХреЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдкрдХреЗ рднрд╛рд╖рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП @benadamstyles рд╕реЗ

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд▓реЛрдХреЗрд▓ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЖрдпрд╛рддрд┐рдд рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдкрд╣рд▓реЗ рдЕрдХреНрд╖рд░ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬреЛ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ _ рд╣реИ

import moment from 'moment';
import momentPTBR from 'moment/src/locale/pt-br';

function prepareLocale(locale) {
  for (const key in locale) {
    if (locale.hasOwnProperty(key)) {
      // remove first character underscore fom key, i.e. '_calendar' => 'calendar'
      locale[key.substring(1)] = locale[key];
    }
  }
  return locale;
}

moment.defineLocale('pt-br', prepareLocale(momentPTBR));

import 'moment/src/locale/en-gb' рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди import 'moment/locale/en-gb' рдиреЗ рдХрд┐рдпрд╛ред

  "dependencies": {
    "expo": "32.0.0",
    "moment": "2.24.0",
    "react": "16.5.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz"
  },

рдкреЗрдбрд╝ рдореЗрдВ рд╕рдмрд╕реЗ рдКрдкрд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдореЗрд░рд╛ рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИ:

import moment from 'moment'

import 'moment/locale/en-gb'

const momentLocale = moment.locale('en-gb')
if (momentLocale !== 'en-gb') {
  throw new Error(`Moment fell back to locale ${momentLocale}`)
}

export default () => null

рдореИрдВ v2.18 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд╡рд┐рдзрд┐ рдХрд╛рдо рдХрд░рддреА рд╣реИред

` import moment from 'moment'; import momentFR from 'moment/src/locale/fr' moment.locale('fr',momentFR );
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВред
рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕рдВрд╕реНрдХрд░рдг 2.24 рд╕реЗ 2.18 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ рдЕрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред 2.20 рдХреЗ рдмрд╛рдж рдХрд╣реАрдВ рдПрдХ рдмрдЧ рд╣реИред

рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдХрд╛рдо

import moment from 'moment'
import 'moment/locale/pt-br'
moment.locale('pt-br')

рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдХрд╛рдо

import moment from 'moment'
import 'moment/locale/pt-br'
moment.locale('pt-br')

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЬреЛ .locale() рд╕реЗ рд╡рд╛рдкрд╕ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрдкрдиреЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдЪреБрдкрдЪрд╛рдк рд╡рд╛рдкрд╕ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

dbshwang picture dbshwang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tanepiper picture tanepiper  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alvarotrigo picture alvarotrigo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Shoroh picture Shoroh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

danieljsinclair picture danieljsinclair  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ