Moment: كيفية الحصول على عمر الشخص

تم إنشاؤها على ١٢ فبراير ٢٠١٣  ·  8تعليقات  ·  مصدر: moment/moment

مرحبًا ، هذا سؤال ثم مشكلة ولكن هنا.
أريد استخدام اللحظة للتحقق مما إذا كان عمر الشخص أكبر من 18 عامًا. ما هي أفضل طريقة للقيام بذلك؟ بما أنني إذا استخدمت الوظيفة .fromNow () فسوف أحصل على 18 عامًا إذا كان لدى الشخص أكثر من 17 عامًا ونصف.

التعليق الأكثر فائدة

يمكنك استخدام شيء مثل birthday.diff(moment(), 'years') لهذا ، حيث birthday هي لحظة عيد ميلاد الشخص.

ال 8 كومينتر

يمكنك استخدام شيء مثل birthday.diff(moment(), 'years') لهذا ، حيث birthday هي لحظة عيد ميلاد الشخص.

حسنًا ، إنه يعمل. شكرا جزيلا.

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

Math.abs(birthday.diff(moment(), 'years')) باستخدام Math.abs تقوم بتحويل هذه النتيجة إلى رقم موجب

يمكنك استخدام شيء مثل birthday.diff(moment(), 'years') لهذا ، حيث birthday هي لحظة عيد ميلاد الشخص.

هذا يعمل ولكنه يعطي تحذيرًا على وحدة التحكم ، أي فكرة لماذا؟

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 لن يكون ذلك ضروريًا إذا قمت للتو بتبديل الحسابات النسبية مثل eballeste فعل:

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

لا يزال الأمر لا يعمل بشكل صحيح إذا كان الشخص قد احتفل بعيد ميلاده مؤخرًا (قبل أقل من شهر).

لا يزال الأمر لا يعمل بشكل صحيح إذا كان الشخص قد احتفل بعيد ميلاده مؤخرًا (قبل أقل من شهر).

إرجاع moment('2020-05-07').diff(moment('2002-05-06'), 'years') 18

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات