- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
所以,我的 Playground 上有一些代码:
extension String {
func stringToDate(withFormat format:String) -> Date? {
let df = DateFormatter()
df.dateFormat = format
return df.date(from: self) ?? nil
}
}
struct Some {
let date:String
}
let some = Some(date: "Fri, 06 Jan 2017 04:36:17 +0000")
print(some.date.stringToDate(withFormat: "E, dd MMM yyyy HH:mm:ss Z") ?? "ooops")
而且工作正常。我收到了我预期的日期 - 2017-01-06 04:36:17 +0000但是在我的应用程序中,相同的代码和带有日期的相同字符串无法正常工作
最佳答案
您可能在 playground 和应用程序中有不同的默认语言环境。
您可以使用 print(df.locale)
进行检查。
例如如果您将语言环境设置为 ru_RU
:
df.locale = Locale(identifier: "ru_RU")
那么你的日期将不会被解析。
按照@MartinR 的建议,将稳定的解析结果设置为 en_US_POSIX
。
关于ios - Swift 3 中的 DateFormatter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41507578/
我的日期时间格式字符串是:yyyy-MM-dd'T'HH:mm:ss.SSSZ 我正在使用 Joda Time 中的 DateTimeFormatter 以上述格式打印我的日期。 现在,将日期视为 2
这个问题已经有答案了: Getting date from [NSDate date] off by a few hours (3 个回答) 已关闭 5 年前。 我对 Date 进行了扩展,返回格式化
先决条件 在手机设置中设置时区 GMT+13(法莱、托克劳)。 实现 extension Date { func formatForDto() -> String { let
我经常在代码中使用 DateFormatter 并且没有发现任何问题,但后来我决定测试一个类进行大量迭代 - 我注意到一个巨大的内存泄漏。 泄漏的原因是 DateFormatter。 简单代码: va
这个问题已经有答案了: want current date and time in "dd/MM/yyyy HH:mm:ss.SS" format (11 个回答) Change the format
我正在尝试将不带时区值(例如“31.05.2015”)的字符串转换为 NSDate。 我的 DateFormatter 有什么问题?它返回日期 2015-05-31 22:00:00 +0000当我尝
这个问题已经有答案了: NSDateFormatter show wrong year (1 个回答) 已关闭 3 年前。 我尝试格式化我的 UTC 日期,但结果似乎非常错误 日期格式化程序:
这个问题在这里已经有了答案: NSDate Format outputting wrong date (5 个答案) Getting date from [NSDate date] off by
我一直在使用以下代码来格式化日期值: NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setLoca
这个问题在这里已经有了答案: Getting date from [NSDate date] off by a few hours (3 个答案) 关闭 5 年前。 我对返回格式化字符串的 Date
我从字符串中得出的日期总是 nil,我不知道为什么。 func getBirthdate() -> Date? { let formatter = DateFormatter()
我是 iOS 的新手,我想在我的约会中增加几毫秒,比如 (5)。我使用了下面的代码,但我没有得到我正在使用的确切日期 let str_TimeStamp = "2017-08-09 10:26:30.
我的 DateFormatter 有问题。 我的 iOS 应用程序与服务器通信并使用 If-Modified-Since header 和使用以下格式化程序创建的日期: modifiedSinceDa
首先要提前致谢。我已经使用 iOS/Swift 多年,这是我第一次看到这种奇怪的行为。这是代码: let dateFormatter = DateFormatter() dateFormatter.d
这个问题在这里已经有了答案: NSDateFormatter show wrong year (1 个回答) 关闭 6 年前。 我有以下代码: var components = DateCompon
在我的 Java 应用程序中,我使用 DateFormat 实例来解析日期输入。 DateFormat fmt; fmt = DateFormat.getDateInstance(DateFormat
代码: let isoDate = "1981-02-20T10:44:00+0800" let dateFormatter = DateFormatter() dateFormatter.timeZ
有谁知道 Java 中的 DateFormatter 不是那么挑剔?我的意思是我可以为它提供多种格式的日期,如果我提供它这样的格式: yyyy-MM-dd HH:mm:ss Z 用户可以输入: 201
我已经阅读了多篇关于此的文章,其中大部分是由于未设置特定时区而系统获取了当前时区。我的场景略有不同并给出了意想不到的结果,所以我会尝试详细解释。 我正在处理一个返回日期的后端,该日期分为日期和时间,存
我试图以我设备的语言显示格式化日期,但它一直以英语显示(即使设备设置为葡萄牙语)。 在我的 ViewController 中我创建了一个日期: let todaysDate: Date = Date(
我是一名优秀的程序员,十分优秀!