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

使用DateFormatter得GMT当前日期[副本]

戚泰
2023-03-14
extension Date {
    func getLocalizedDay() -> Date {
       let dateFormatter = DateFormatter()
       var calendar = Calendar.current
       calendar.timeZone = NSTimeZone(name: "GMT")! as TimeZone
       dateFormatter.calendar = calendar
       dateFormatter.locale = Locale.current
       dateFormatter.timeZone = TimeZone(identifier: "GMT")
       dateFormatter.dateFormat = "yyy-MM-dd HH:mm:ss"
       guard let otpDate = dateFormatter.date(from: dateFormatter.string(from: self)) else { return Date() }
       return otpDate
    }
}
dateFormatter.string(from: self)
dateFormatter.date(from: dateFormatter.string(from: self))

有人知道怎么解决这个问题吗?

编辑:

var dateFromatter = DateFormatter()
var calendar = Calendar.current
calendar.timeZone = NSTimeZone(name: "GMT")! as TimeZone
dateFromatter.calendar = calendar
dateFromatter.dateFormat = "yyyy-MM-dd HH:mm:ss"

let now = Date()

let dateInString = dateFromatter.string(from: now)
print(dateInString) // 2020-05-02 13:11:01
print(dateFromatter.date(from: dateInString)!) // 2020-05-02 11:11:01 +0000

共有1个答案

章鸿光
2023-03-14

我知道的公式是,当你得到一个日期对象时,它总是以UTC/GMT为单位。

当u正在使用日期格式化程序时,DATE->String,sting u将得到相关时区u集。

当u转换字符串->Date,无论u设置了什么时区,日期wu将始终以UTC/GMT进入。

 类似资料:
  • 本文向大家介绍使用java的Calendar对象获得当前日期,包括了使用java的Calendar对象获得当前日期的使用技巧和注意事项,需要的朋友参考一下 思路: 先获得当前季度的开始和结束日期,在当前日期的基础上往前推3个月即上个季度的开始和结束日期

  • 问题内容: 当我创建一个新Date对象时,它将被初始化为当前时间,但是在本地时区。如何获取格林尼治标准时间的当前日期和时间? 问题答案: 尽管它的值通常是与UTC有关的,但它没有特定的时区。是什么让你认为这是当地时间? 准确地说:内的值是自Unix时代(UTC)在1970年1月1日午夜开始的毫秒数。相同的纪元也可以在其他时区进行描述,但是传统的描述是以UTC表示的。由于距固定纪元以来的毫秒数,因此

  • 问题内容: 我正在服务器上工作,并且服务器在GMT本地日期上向我发送日期,如字符串格式,然后将其转换为日期,如下所示: 我需要的是取出Ago中的时间, 因为我使用了一个github项目,该项目在传递日期时返回TimeAgo。 我已经看过这个答案,但没有解决我的问题。 异常:Err java.text.ParseException:无法解析的日期:“星期五6月22日09:29:29 NPT 2018

  • 问题内容: 这是代码摘录: 是的字符串。我输入“ let date”以查看返回的内容,并且为零。我在这里查找格式代码:http : //waracle.net/iphone- nsdateformatter-date-formatting-table/ 代码应该实际工作。我究竟做错了什么? 编辑 :添加了整个功能 EDIT2 :我刚刚注意到它在iPhone 7 iOS 10.1模拟器上可以正常工作

  • 我想用java打印当前日期和时间…这是我从java教程中尝试的代码: 它编译得很好。但是给出的输出是: 这就是我编译代码并运行的方式: sou@sou-linux:~/desktop/java$javac datedemo.java sou@sou-linux:~/desktop/java$java DateDemo