Cal*_*eny 2 integer nsdate ios
所以我的困境是我无法弄清楚如何仅将日期存储在整数值中(使用以下方法获取:
NSDate* date = [NSDate date]
Run Code Online (Sandbox Code Playgroud)
我在网上找到了这段代码,它似乎与我需要的相似(我认为将 setDateFormat 更改为 @"dd" 会起作用(但显然它没有)
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy"];
//Optionally for time zone conversions
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"..."]];
NSString *stringFromDate = [formatter stringFromDate:date];
Run Code Online (Sandbox Code Playgroud)
我只是忘记了一些简单的整数吗?
迅速
NSDate 到 Int// using current date and time as an example
let someNSDate = NSDate()
// convert NSDate to NSTimeInterval (typealias for Double)
let timeInterval = someNSDate.timeIntervalSince1970
// convert to Integer
let myInt = Int(timeInterval)
Run Code Online (Sandbox Code Playgroud)
执行DoubletoInt转换会导致毫秒丢失。如果您需要毫秒,则在转换为Int.
Int 到 NSDate包括相反的完整性。
// convert Int to Double
let timeInterval = Double(myInt)
// create NSDate from Double (NSTimeInterval)
let myNSDate = NSDate(timeIntervalSince1970: timeInterval)
Run Code Online (Sandbox Code Playgroud)
只要我保持一致,我也可以使用timeIntervalSinceReferenceDate代替timeIntervalSince1970。这是假设时间间隔以秒为单位。请注意,Java 使用毫秒。
从 Swift 3 开始,转换将使用Date而不是NSDate. 请参阅Swift 3 版本的此答案。
| 归档时间: |
|
| 查看次数: |
7729 次 |
| 最近记录: |