当前位置: 首页 > 知识库问答 >
问题:

Swift 5-无法解释的DateFormatter崩溃

阴鸿才
2023-03-14

我的应用程序使用了一个定时器,该定时器使用mm-dd-yyyy h:mma格式的字符串构造。当用户超过resetTimeString记录的时间时,下一个重置时间将通过递增到下一天(“a”值不变)并将该值存储在数据库中来确定。简单地说,它代表一个每日计时器,每个用户都可以选择他们自己的'a'值。

我让许多用户联系了一次崩溃,在比较了数据库中的值之后,他们似乎都有resettimestring03-14-2021 2:00 am

    var resetTime: Date?
    let resetTimeFormatter = DateFormatter()

    resetTimeFormatter.dateFormat = "MM-dd-yyyy h:mm a"
    
    if let resetString = resetTimeString { //value in DB
        resetTime = resetTimeFormatter.date(from: resetString)! // <- Only crashes with 03-14-2021 2:00 AM 
    }

我测试了ResetTimeString值的一系列不同值,它们都工作得非常好:

03-13-2021 2:00 AM

03-14-2021 1:00am

03-14-2021 3:00 AM

03-15-2021 2:00 AM

我对这次撞车很困惑,以为会寻求一些援助;感谢任何帮助!

共有1个答案

魏安宁
2023-03-14

在您的区域设置中,夏令时会在2021年3月14日凌晨2点更改,因此特定日期不存在。

 类似资料:
  • 我正在学习Hibernate,但当我尝试使用Brandid进行筛选时,我不断得到以下错误: 这是我在mysql中的2个表 } 有人能告诉我我做错了什么吗

  • 我不明白我的问题在哪里。我的应用程序在启动时崩溃与此崩溃日志。 iOS 7.0。2(11A501)报告版本:104 异常类型: 00000020异常代码: 0x0000008badf00d高亮线程: 0 应用特定信息:com.myapps未能及时启动 已用CPU总时间(秒):4.420(用户4.420,系统0.000),10%CPU已用应用程序CPU时间(秒):0.714,2%CPU 线程0:0

  • 编辑 我本来应该提到我正在使用RiakCS客户机连接到S3。在本文编辑时,RIAKCS似乎存在一个问题。

  • 我正在调试一个Azure Web应用程序上无法解释的内存消耗。我花了很多时间使用dotmemory、perfview和诊断工具挖掘日志、内存转储,但仍然无法理解为什么我们的应用程序内存一整天都在稳步增长。 我在堆中验证了多次,以确保请求前后的应用程序对象/模块都被释放,上面的屏幕截图显示了这一点。 如果你能分享一些关于如何找到消耗内存的东西的建议,我会的

  • 有人能给我指出正确的方向吗,因为我不明白这个问题。 我正在执行以下方法。 它打印 [null,a,null,a] 我不明白为什么它在结果列表中放了两个空。我期望答案是 [a,b] 由于它是一个并行流,因此要减少的第一个参数 新建ArrayList() 可能会为每个输入值a和b调用两次。 然后累加器函数可能会被调用两次,因为它是并行流,并在每次调用中传递每个输入“a和b”以及种子值提供的列表。因此a

  • 我得到一个奇怪的内存不足错误解码一个可绘制的图像资源960x926px jpg,分配3555856字节。图像仅放置在drawable-xxhdpi(3x)中,而我使用的是hdpi(1.5x)设备。两个问题: > 为什么堆中有足够的空闲内存却出现错误? 03-18 17:30:15.050 327 50-32750/?D/DALVIKVM:GC_FOR_ALLOC释放10809K,49%释放2373