0

I tried to use dateTime to open or close the access to the registration form, I saved the value of open or close date in my Firebase.. so I must retrieve the date value from the database, and compare with the user current time. To get the country current time, I used WorldTime API.. Please can you check my code to let me know I dit a mistake or error ?

Thanks a lot

    await FirebaseFirestore.instance
        .collection("DateTimeActivity")
        .doc("OpenTime")
        .snapshots()
        .listen((event) {
      var openDateTime = event.get("OpenTime");
      var closeDateTime = event.get("closeTime");

      DateFormat myFormat = DateFormat('yyyy-MM-dd');

      DateTime open = myFormat.parse(openDateTime);
      DateTime close = myFormat.parse(closeDateTime);
      //DateTime current = myFormat.parse(currentTime);

      if (DateTime.parse(currentTime).isBefore(open)) {
        isTime = false;
      } else if (DateTime.parse(currentTime).isAfter(close)) {
        isTime = false;
      } else {
        isTime = true;
      }
    });

    return isTime;
  }  ```

PascalB
  • 13
  • 5
  • please provide date and time .may date parse getting error – lava Mar 05 '22 at 16:22
  • @lava please, I don't understand exactly what you are talking about ..... wish date ? – PascalB Mar 05 '22 at 18:22
  • Are the events really supposed to be named with inconsistent capitalization ("OpenTime" vs. "closeTime")? Seems pretty clear that you're calling `DateFormat.parse` with an argument that is `null`. Don't do that. – jamesdlin Mar 05 '22 at 18:39

1 Answers1

0

even thought you set a date in firebase it will store it as a timestamp. try: myFormat.parse((openDateTime as TimeStamp).toDate())

Simon Danninger
  • 458
  • 2
  • 7