【问题标题】:How to compare two DateTime values in Flutter (dart) using IF condition?如何使用 IF 条件比较 Flutter (dart) 中的两个 DateTime 值?
【发布时间】:2019-08-09 09:21:26
【问题描述】:

如何比较像现在时间(10.13 pm)和未来时间(10:15 pm)这样的日期时间值,这两次比较在 if 条件下,这是 true 然后执行任务 else 显示错误

String formattedtime = DateFormat('h:mm a').format(DateTime.now());
//getting Current time is formattedtime
// time is stored in database and comapre with this
if(date==formattedDate &&formattedtime==time &&status =='false'){

}else{
     // else condition
 }

// remove time condition then working fine 

if(date==formattedDate&&status =='false'){

  // this condition working Fine but with Time Compare not working 

}else{
     // else condition
 }

不工作

我不知道如何比较这些结果,我只想如果当前时间大于或等于时间(在数据库中)然后执行任务

谢谢

【问题讨论】:

  • 所以你有两个DateTime,你想比较它们吗?
  • 我将日期时间转换成字符串,然后转换成campare
  • 这不是正确的方法@Gnziet
  • 这是时间而不是日期,例如(上午 10 点 30 分)和上午 10 点 35 分如何比较字符串值
  • 字符串比较是什么意思?为什么要这样比较?

标签: java android flutter


【解决方案1】:

转换成DateTime并使用isAfterisBefore进行比较

DateTime date1 = DateTime.now();
System.out.println(date1);
DateTime date2 = DateTime.now().plusDays(1);
System.out.println(date2);
System.out.println(date1.isBefore(date2));     //true
System.out.println(date1.isAfter(date2));      //false

【讨论】:

    【解决方案2】:
     DateFormat dateFormat = DateFormat.jm();// this is the format like(5:08 PM)
     DateTime now =  DateTime.now();// current time 
     DateTime open = dateFormat.parse(time); // time is dynamic value database
     open = DateTime(now.year, now.month, now.day, open.hour, open.minute);
    
     // here your condition
    
     if(now.isAfter(open)){
       // task here
      }else{
     }
    

    【讨论】:

    • 这些天不需要new。只会让它更吵。
    【解决方案3】:

    你能做的是

    final startTime = DateTime(2018, 6, 23, 10, 30);
    final endTime = DateTime(2018, 6, 23, 13, 00);
    
    final currentTime = DateTime.now();
          
    if(currentTime.isAfter(startTime) && currentTime.isBefore(endTime)) {
      // do something
    }
    

    【讨论】:

      【解决方案4】:

      只需将 DateTime 转换为 millisecondsSinceEpoch 值,然后比较整数值

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-09
        • 2020-12-16
        • 1970-01-01
        相关资源
        最近更新 更多