ios - 根据设备位置印度或美国更正日期时间

标签 ios swift nsdateformatter nstimezone

我想根据我的 iPhone 设备获取当前时间,我正在使用昨天给我的代码。 我的代码是

let calendar = Calendar.current
let dateStart = calendar.startOfDay(for: Date())


let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "hh:mm a"
dateFormatter.timeZone = TimeZone.current
let strDate = Date().description(with: Locale.current) //dateFormatter.string(from: dateStart)

print("日期开始***** (dateStart)")

通过这个我得到了回应:

开始日期 ***** 2018-02-14 18:30:00 +0000

任何人都可以帮助我如何确定今天的正确时间是 15-02-2018 18:00

谢谢

最佳答案

试试这个:

let calendar = Calendar.current
let dateStart = calendar.startOfDay(for: Date()) // Feb 15, 2018 at 12:00 AM"
print(dateStart) // 2018-02-14 18:30:00 +0000

let dateFormatter = DateFormatter()
var localTimeZoneAbbreviation: String { return TimeZone.current.abbreviation() ?? "UTC" }
dateFormatter.locale = Locale.init(identifier: localTimeZoneAbbreviation)
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
let newDate = dateFormatter.string(from: dateStart)
print(newDate) //  2018-02-15 00:00

更新:

// Current Time  
dateStart = Date() 
newDate = dateFormatter.string(from: dateStart)
print(newDate) //  2018-02-15 22:30

关于ios - 根据设备位置印度或美国更正日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48807379/

相关文章:

ios - 将 UIApplication.shared.isIdleTimerDisabled 设置为 false 时屏幕变暗

ios - 为什么在关闭 View Controller 时不循环保留(非圆弧)

javascript - 为 Phonegap/Cordova iOS 应用强制执行正确的方向横向模式

ios - 如何防止iOS应用程序被挂起

swift - 如何使用 swift 为 sqlite 提供数据库路径

ios - IOS 的 getFromLocationName() 的替代品是什么?

ios - 为什么我无法在 CloudKit 中访问 CKRecord 的createdAt 字段?

ios - 错误地将 NSString 转换为 NSdate

ios - 使用 NSDateFormatter 将 NSString 转换为 NSDate 返回 null

ios - NSTimer 和 NSDateFormatter 麻烦。我的 timerLabel 刷新后消失了吗?