Flutter Dev نشر 20 سبتمبر 2022 أرسل تقرير نشر 20 سبتمبر 2022 تحيه طيبه للجميع لدي استفسار لو تكرمتم كيف ممكن نعمل مقارنة قيم مختلفة في widget flutter ك مثال التالي: snapshot.data[index]['LastDate'] >= DateFormat('dd-MM-yyy').format(DateTime.now()) حاولت اعمل كذا بس احصل على الخطاء التالي: Class 'String' has no instance method '>='. Receiver: "23-10-2022" Tried calling: >=("20-09-2022") كيف يمكن فعل ذلك؟ 1 اقتباس
1 علي عبد محسن نشر 20 سبتمبر 2022 أرسل تقرير نشر 20 سبتمبر 2022 يمكنك إستعمال الدوال isAfter, isBefore, isAtSameMomentAs المرتبطة بالنوع DateTime لمقارنة الوقت و ترجع كل من هذا الدوال true أو false وكما يلي snapshot.data[index]['LastDate'].isAfter(DateFormat('dd-MM-yyy').format(DateTime.now())) snapshot.data[index]['LastDate'].isBefore(DateFormat('dd-MM-yyy').format(DateTime.now())) snapshot.data[index]['LastDate'].isAtSameMomentAs(DateFormat('dd-MM-yyy').format(DateTime.now())) //compareTo كما يمكنك إستخدام // لكن هذه الدالة ترجع لك 1 أو 0 أو -1 بنفس الدلالة السابقة snapshot.data[index]['LastDate'].compareTo(DateFormat('dd-MM-yyy').format(DateTime.now())) // DateTime لاحظ أننا نقارن النوع //String إذا الوقت لديك من النوع //كما يلي DateTime يمكنك تحويله الى dt= DateTime.parse('2020-01-02T07:12:50+07:00') // مثال // ثم تجري المقارنة كما سبق الحل المطروح هنا يحل الإشكالية الموجودة في المثال في سؤالك أي المقارنة بين قيم الوقت كما يفهم من الكود الذي تطرحه. إذا كنت تريد مقارنة قيم أخرى فلا بد من تحديد نوع هذه القيم لتحديد طريق المقارنة ذات العلاقة. 1 اقتباس
0 Flutter Dev نشر 20 سبتمبر 2022 الكاتب أرسل تقرير نشر 20 سبتمبر 2022 بتاريخ منذ ساعة مضت قال علي محسن: يمكنك إستعمال الدوال isAfter, isBefore, isAtSameMomentAs المرتبطة بالنوع DateTime لمقارنة الوقت و ترجع كل من هذا الدوال true أو false وكما يلي snapshot.data[index]['LastDate'].isAfter(DateFormat('dd-MM-yyy').format(DateTime.now())) snapshot.data[index]['LastDate'].isBefore(DateFormat('dd-MM-yyy').format(DateTime.now())) snapshot.data[index]['LastDate'].isAtSameMomentAs(DateFormat('dd-MM-yyy').format(DateTime.now())) //compareTo كما يمكنك إستخدام // لكن هذه الدالة ترجع لك 1 أو 0 أو -1 بنفس الدلالة السابقة snapshot.data[index]['LastDate'].compareTo(DateFormat('dd-MM-yyy').format(DateTime.now())) // DateTime لاحظ أننا نقارن النوع //String إذا الوقت لديك من النوع //كما يلي DateTime يمكنك تحويله الى dt= DateTime.parse('2020-01-02T07:12:50+07:00') // مثال // ثم تجري المقارنة كما سبق الحل المطروح هنا يحل الإشكالية الموجودة في المثال في سؤالك أي المقارنة بين قيم الوقت كما يفهم من الكود الذي تطرحه. إذا كنت تريد مقارنة قيم أخرى فلا بد من تحديد نوع هذه القيم لتحديد طريق المقارنة ذات العلاقة. جزاك الله الف خير اخي الكريم 1 اقتباس
السؤال
Flutter Dev
تحيه طيبه للجميع
لدي استفسار لو تكرمتم
كيف ممكن نعمل مقارنة قيم مختلفة في widget flutter
ك مثال التالي:
snapshot.data[index]['LastDate'] >= DateFormat('dd-MM-yyy').format(DateTime.now())
حاولت اعمل كذا بس احصل على الخطاء التالي:
Class 'String' has no instance method '>='. Receiver: "23-10-2022" Tried calling: >=("20-09-2022")
كيف يمكن فعل ذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.