ios - 将 NSString 转换为 NSDate(然后再返回)

如何将像“01/02/10”(表示 2010 年 2 月 1 日)这样的 NSString 转换为 NSDate?我怎么能把 NSDate 变成一个字符串?

最佳答案

Swift 4 及更高版本

更新:2018 年

字符串到日期

var dateString = "02-03-2017"
var dateFormatter = DateFormatter()

// This is important - we set our input date format to match our input string
// if the format doesn't match you'll get nil from your string, so be careful
dateFormatter.dateFormat = "dd-MM-yyyy"

//`date(from:)` returns an optional so make sure you unwrap when using. 
var dateFromString: Date? = dateFormatter.date(from: dateString)

日期转字符串

var formatter = DateFormatter()
formatter.dateFormat = "dd-MM-yyyy"
guard let unwrappedDate = dateFromString else { return }

//Using the dateFromString variable from before. 
let stringDate: String = formatter.string(from: dateFromString)

swift 3

更新日期:2017 年 7 月 20 日

字符串到 NSDate

var dateString = "02-03-2017"
var dateFormatter = DateFormatter()
// This is important - we set our input date format to match our input string
// if the format doesn't match you'll get nil from your string, so be careful
dateFormatter.dateFormat = "dd-MM-yyyy"
var dateFromString = dateFormatter.date(from: dateString)

NSDate 转字符串

var formatter = DateFormatter()
formatter.dateFormat = "dd-MM-yyyy"
let stringDate: String = formatter.string(from: dateFromString)

swift

更新日期:2015 年 10 月 22 日

字符串到 NSDate

var dateString = "01-02-2010"
var dateFormatter = NSDateFormatter()
// this is imporant - we set our input date format to match our input string
dateFormatter.dateFormat = "dd-MM-yyyy"
// voila!
var dateFromString = dateFormatter.dateFromString(dateString)

NSDate 转字符串

var formatter = NSDateFormatter()
formatter.dateFormat = "dd-MM-yyyy"
let stringDate: String = formatter.stringFromDate(NSDate())
println(stringDate)

objective-C

NSString 到 NSDate

NSString *dateString = @"01-02-2010";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [dateFormatter dateFromString:dateString];

NSDate 转换为 NSString:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *stringDate = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"%@", stringDate);

https://stackoverflow.com/questions/3917250/

相关文章:

ios - 突出显示时如何更改 UIButton 的背景颜色?

objective-c - 开始使用 instancetype 而不是 id 会有好处吗?

ios - 从 "bouncing"垂直停止 UIWebView?

ios - 如何在 iOS 上进行 base64 编码?

iphone - 如何在我的 iPhone 应用程序中使用 NSError?

ios - 使 UINavigationBar 透明

ios - 如何更改导航栏上 "back"按钮的标题

objective-c - 实现 API 时如何避免在 block 中捕获 self ?

ios - 卸载应用程序时删除钥匙串(keychain)项目

ios - 在一个 UITableViewCell 上隐藏分隔线