为什么我的云记录时间在我加载到我的应用程序时不一样

Why my Cloud records Time isn't the same when I load it into my app

在学习 cloudKit 容量的培训项目中,我通过日期选择器记录了一个日期,并将其保存到 cloudKit 数据库中。我使用法语格式“DD/MM/YYYY HH:MM”。一切正常,用户输入的日期与数据库中的格式相同。

现在我想在我的应用程序的另一个视图中使用这个日期。所以我将它加载到 cloudKit 的数组中,我想将它与当前时间进行比较。

let recordTime = LastMealRecords[LastMealRecords.count - 1]
    
let currentSavedTime = (recordTime.object(forKey: "Timming"))
let diffComponents = Calendar.current.dateComponents([.hour], from: currentSavedTime as! Date, to: Now)
let intervals = diffComponents.hour
print(Now)
print(currentSavedTime)

所以这里打印显示:

Now : DD/MM/YYYY HH:MM (which is the correct local time !)
currentSavedTime : DD/MM/YYY HH:MM (but HH:MM is not the same value as the one which is save on the Cloud data base. In fact it seem to be the UTC time cause there is 2h difference in less like the Local and UTC time in France... )

问题:我该如何解决这个问题?我试图找到保存在云端的相同值..

感谢您的帮助!

服务器端保存的时间无法更改,只能相应地操作当前时间

//Return系统马上使用的时区

let timeZone = NSTimeZone.system

// Returns 给定日期服务器和 GMT 之间的秒数差异。

 let timeZoneOffset = timeZone.secondsFromGMT(for: currentDate) / 3600

 print(timeZoneOffset, "hours offset for timezone", timeZone)