اذهب إلى المحتوى
  • 0

المقارنة بين قيم مختلفة في flutter

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")

كيف يمكن فعل ذلك؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك إستعمال الدوال 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') // مثال

// ثم تجري المقارنة كما سبق

الحل المطروح هنا يحل الإشكالية الموجودة في المثال في سؤالك أي المقارنة بين قيم الوقت كما يفهم من الكود الذي تطرحه. إذا كنت تريد مقارنة قيم أخرى فلا بد من تحديد نوع هذه القيم لتحديد طريق المقارنة ذات العلاقة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ منذ ساعة مضت قال علي محسن:

يمكنك إستعمال الدوال 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') // مثال

// ثم تجري المقارنة كما سبق

الحل المطروح هنا يحل الإشكالية الموجودة في المثال في سؤالك أي المقارنة بين قيم الوقت كما يفهم من الكود الذي تطرحه. إذا كنت تريد مقارنة قيم أخرى فلا بد من تحديد نوع هذه القيم لتحديد طريق المقارنة ذات العلاقة.

جزاك الله الف خير اخي الكريم

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...