Moment: cara mengetahui umur seseorang

Dibuat pada 12 Feb 2013  ·  8Komentar  ·  Sumber: moment/moment

Hai, ini lebih merupakan pertanyaan daripada masalah tetapi ini dia.
Saya ingin menggunakan momen untuk memeriksa apakah seseorang berusia lebih dari 18 tahun. Apa cara terbaik untuk melakukan ini? Karena jika saya menggunakan fungsi .fromNow() saya akan mendapatkan 18 tahun jika orang tersebut memiliki lebih dari 17 setengah.

Komentar yang paling membantu

Anda dapat menggunakan sesuatu seperti birthday.diff(moment(), 'years') untuk ini, di mana birthday adalah momen ulang tahun orang tersebut.

Semua 8 komentar

Anda dapat menggunakan sesuatu seperti birthday.diff(moment(), 'years') untuk ini, di mana birthday adalah momen ulang tahun orang tersebut.

Oke itu bekerja. Terima kasih banyak.

const age = moment().diff(birthday, 'years');
const isLegal = (age >= 18);

Math.abs(birthday.diff(moment(), 'years')) dengan Math.abs Anda mengubah hasil ini menjadi bilangan positif

Anda dapat menggunakan sesuatu seperti birthday.diff(moment(), 'years') untuk ini, di mana birthday adalah momen ulang tahun orang tersebut.

ini berfungsi tetapi memberikan peringatan di konsol, adakah yang tahu mengapa?

Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments: 
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: Fri Sep 27 2019 00:00:00 GMT+0100 (Western European Summer Time), _f: undefined, _strict: undefined, _locale: [object Object]
Error
    at Function.eval [as createFromInputFallback] (webpack-internal:///./node_modules/moment/moment.js:319:98)
    at configFromString (webpack-internal:///./node_modules/moment/moment.js:2384:15)
    at configFromInput (webpack-internal:///./node_modules/moment/moment.js:2610:13)
    at prepareConfig (webpack-internal:///./node_modules/moment/moment.js:2593:13)
    at createFromConfig (webpack-internal:///./node_modules/moment/moment.js:2560:44)
    at createLocalOrUTC (webpack-internal:///./node_modules/moment/moment.js:2647:16)
    at createLocal (webpack-internal:///./node_modules/moment/moment.js:2651:16)
    at hooks (webpack-internal:///./node_modules/moment/moment.js:11:29)
    at VueComponent.Singup (webpack-internal:///./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/Singup.vue?vue&type=script&lang=js&:95:63)
    at invokeWithErrorHandling (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:1853:26)

@josebedoya Itu tidak perlu jika Anda baru saja menukar perhitungan relatif seperti yang dilakukan @eballeste :

moment().diff(birthdate, 'years')

Masih tidak berfungsi dengan benar jika orang tersebut baru saja (kurang dari sebulan yang lalu) berulang tahun.

Masih tidak berfungsi dengan benar jika orang tersebut baru saja (kurang dari sebulan yang lalu) berulang tahun.

moment('2020-05-07').diff(moment('2002-05-06'), 'years') mengembalikan 18

Apakah halaman ini membantu?
0 / 5 - 0 peringkat