tec*_*erd 17 nstimezone ios swift swift3
我正在使用Xcode8 Beta4将Swift2.3中开发的项目转换为Swift3.0.其中我有将日期转换为字符串的方法,但无法转换它.
class func convertDateToString(_ date:Date, dateFormat:String) -> String?
{
let formatter:DateFormatter = DateFormatter();
formatter.dateFormat = dateFormat;
formatter.timeZone = TimeZone.local
let str = formatter.string(from: date);
return str;
}
Run Code Online (Sandbox Code Playgroud)
同样在文档中没有名为的成员local.
有没有办法TimeZone直接使用?或者我们必须使用NSTimeZone?
tec*_*erd 26
通过持续深入的类层次结构,发现NSTimeZone为public typealias,其开辟的访问NSTimeZone我们.
内 TimeZone
public struct TimeZone : CustomStringConvertible, CustomDebugStringConvertible, Hashable, Equatable, ReferenceConvertible {
public typealias ReferenceType = NSTimeZone
}
Run Code Online (Sandbox Code Playgroud)
所以通过使用下面的语法错误得到消失.
所以下面的代码将起作用.
对于当地时区.
formatter.timeZone = TimeZone.ReferenceType.local
Run Code Online (Sandbox Code Playgroud)
对于默认时区.使用default相同的语法.
formatter.timeZone = TimeZone.ReferenceType.default
Run Code Online (Sandbox Code Playgroud)
对于系统时区.使用system相同的语法.
formatter.timeZone = TimeZone.ReferenceType.system
Run Code Online (Sandbox Code Playgroud)
斯威夫特3
你可以用.current而不是.local.
TimeZone.current
Run Code Online (Sandbox Code Playgroud)
Raw*_*ean 24
使用此而不是.local在swift 3中:
TimeZone.current
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11587 次 |
| 最近记录: |