1

可能重复:
将 NSDate 转换为 NSString
将字符串转换为 nsdate

目前我有这个代码。它用于将事件添加到日历中。

[...]
event.startDate = [[NSDate date] dateByAddingTimeInterval:86400];
event.endDate = [[NSDate date] dateByAddingTimeInterval:90000];

我需要的是添加到特定开始日期和结束日期的代码,这就是 NSString 派上用场的地方。但到目前为止,我还没有成功转换它。

4

3 回答 3

5

请参阅此代码:

NSString 到 NSDate

NSString *dateString = @"01-02-2010";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// this is imporant - we set our input date format to match our input string
// if format doesn't match you'll get nil from your string, so be careful
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
// voila!
dateFromString = [dateFormatter dateFromString:dateString];
[dateFormatter release];

NSDate 转换为 NSString:

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

希望对你有帮助

于 2013-01-03T14:37:58.957 回答
0

将 NSDate 转换为 NSString 为

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];

NSString *string = [dateFormatter stringFromDate:date];
[dateFormatter release];
于 2013-01-03T14:38:27.867 回答
0

如果您需要“1937 年 11 月 23 日”这样的格式,这是一个示例:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateStyle= NSDateFormatterMediumStyle;
NSString* string= [formatter stringFromDate: date];

查看其他样式的参考。如果您需要另一种没有常量的样式,则可以使用日期格式,在本例中为:

formatter.dateFormat= @"MMM dd, yyyy"; // same as medium style

但首选方法是使用样式,仅在没有属性样式时才使用格式。

于 2013-01-03T14:40:47.923 回答