我正在try 制作一款考勤应用程序,在iOS和Firebase中我真的搞不清日期和时间.

我使用日期作为关键字,这是我的Firebase数据库的 struct .

--Employees
  --Unique_ID
     --Details
          Name: John
     --Attendance
          --dateToday
              Timein: 8:00 AM
              Timeout: 5:00 PM
              BreakStart: 12:00 PM
              BreakFinish: 1:00 PM

这是我的代码,用于获取用作键的日期时间戳

 override func viewDidLoad() {
     super.viewDidLoad()

     let now = NSDate()
     let nowTimeStamp = self.getCurrentTimeStampWOMiliseconds(dateToConvert: now)

     // I save this dateToday as Key in Firebase
     dateToday = nowTimeStamp
}


func getCurrentTimeStampWOMiliseconds(dateToConvert: NSDate) -> String {
    let objDateformat: DateFormatter = DateFormatter()
    objDateformat.dateFormat = "yyyy-MM-dd"
    let strTime: String = objDateformat.string(from: dateToConvert as Date)
    let objUTCDate: NSDate = objDateformat.date(from: strTime)! as NSDate
    let milliseconds: Int64 = Int64(objUTCDate.timeIntervalSince1970)
    let strTimeStamp: String = "\(milliseconds)"
    return strTimeStamp
}

但是当我将它转换回日期时,我得到的是2017-09-22 16:00:00+0000,这是错误的,因为在我所在的位置是9月23日.

要使用什么代码才能获得正确的日期、时间戳和时间戳?

推荐答案

为了将当前时间保存到firebase数据库,我使用Unic Epoch对话:

let timestamp = NSDate().timeIntervalSince1970

用于解码Unix Epoch time to Date().

let myTimeInterval = TimeInterval(timestamp)
let time = NSDate(timeIntervalSince1970: TimeInterval(myTimeInterval))

Ios相关问答推荐

当重新呈现UI时,嵌套的 struct 值如何与@Observable一起工作?

以编程方式更改VC&39;S导航栏按钮的属性,以响应另一个VC中的按钮按下

验证开发人员应用程序证书是否已在您的设备上验证

检测touch 并忽略其他手势SWIFT SceneKit

如何删除点击时按钮的不透明动画?

Swift Combine和iOS版本限制?

不可发送类型 '[String : Any]?'在调用非隔离实例方法 XXX 时退出主参与者隔离上下文不能跨越参与者边界

ionic 4 - 编译 ios - 来自项目Pods的目标GoogleDataTransport中的问题

UIView 阴影不适用于自定义扩展

Flutter IOS 构建错误 - 在签名和功能编辑器中 Select 一个开发团队.

如何在 SwiftUI 的 TabView 中添加底部曲线?

Xcode 13.4.1 (13F100)Command CodeSign 失败,退出代码非零我应该删除哪个证书?

iOS 是否支持使用独立 .xib 文件创建的嵌套自定义子视图?

clipShape swift的三元

如何在通用应用程序中同时支持 iPad 和 iPhone 视网膜图形

UIButton 事件.有什么不同?

如果已安装,则重定向到应用程序,否则重定向到 App Store

如何在 Objective-C (iOS) 中的图像上写文本?

xcode 5.1:libCordova.a 架构问题

找不到开发者磁盘映像