【问题标题】:How do I check if the system date is correct in flutter? Any package or API如何检查系统日期是否正确?任何包或 API
【发布时间】:2022-06-10 17:19:42
【问题描述】:

在 Flutter 中有什么方法可以检查系统 DateTime 是否正确?我尝试搜索提供当前 DateTime 的 API,但时区问题再次发生。解决方案是什么? (我想做类似 WhatsApp 的事情。也就是说,如果系统 DateTime 错误,请不要提供聊天访问权限)

【问题讨论】:

    标签: flutter api datetime system


    【解决方案1】:

    简单的解决方案,使用 unix 纪元时间

    print(DateTime.now().millisecondsSinceEpoch);
    

    【讨论】:

    • 这会以 milliSecondSinceEpoch 格式打印系统时间。如果系统时间不正确,它会打印不正确的时间。
    • 我们使用 unix 纪元时间来避免您在帖子中遇到的时区问题,我们将系统 unix 纪元时间与任何外部源进行比较,以验证系统 unix 纪元时间是否正确。这对你来说应该是一个非常简单的任务,
    • 你能说出一些外部来源,我可以从中得到 Unix 纪元时间吗?我平均每小时会发送 2k 个请求。
    【解决方案2】:

    你可以使用ntp插件

    var nowInternet = await NTP.now();
    var now = DateTime.now();
    print(nowInternet);
    print(now);
    //check diff is grater than 1 minute
    if (nowInternet.difference(now).inMinutes < 1){
       //good
    }
    

    【讨论】:

      猜你喜欢
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      • 2015-05-30
      • 2020-08-02
      • 1970-01-01
      相关资源
      最近更新 更多