ios - 如何从日期时间格式检索 NSDate?

标签 ios objective-c nsstring nsdate

我想检查两个日期:一个在我的 plist 中,格式如下 NSString 2013-08-03 12:26:33 +0000

但是,我只需要 2013-08-03,如何删除其余时间值?请帮我。

我正在使用以下代码检查日期,它对我有用。但我只需要检索 2013-08-03 12:26:33 +0000

中的日期部分
 NSString *start = @"2013-08-03 ";
    NSString *end = @"2013-08-05";

    NSDateFormatter *f = [[NSDateFormatter alloc] init];
    [f setDateFormat:@"yyyy-MM-dd"];
    NSDate *startDate = [f dateFromString:start];
    NSDate *endDate = [f dateFromString:end];


    NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *components = [gregorianCalendar components:NSDayCalendarUnit
                                                        fromDate:startDate
                                                          toDate:endDate
                                                         options:0];

    NSLog(@"%ld", [components day]);

最佳答案

因此,如果您只需要一个带有日期部分的字符串,只需使用 dateFormatter,类似于您之前所做的。

假设你有一个对某个日期的引用,你想要它的字符串部分,我封装了一个返回带有日期部分的字符串的方法:

-(NSString*) stringDatePartOf:(NSDate*)date
{
    NSDateFormatter *formatter = [[NSDateFormatter new];
    [formatter setDateFormat:@"yyyy-MM-dd"];

    return [formatter stringFromDate:date];
}

例如,如果您传递一个值为 2013-08-03 12:26:33 +0000 的日期,此方法将返回 2013-08-03 ,如您所愿。

关于ios - 如何从日期时间格式检索 NSDate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18040195/

相关文章:

ios - "Use of undeclared identifier"

ios - 使用 Xcode 5 时不显示按钮图像

ios - 从 KeychainItem 中检索值

ios - Xcode 5 解析框架链接器错误

ios - 有什么方法可以禁用 Touch ID 提示(UIAlertview)?

iphone - 如何通过NSString获取类对象

ios - 使用 NSString 为标签设置颜色

objective-c - 为什么我从 SQLite 为我的 UILabel 得到一个无效的 NSString?

ios - 从 FlutterViewController 弹回原生 iOS 应用

ios - 清除带有绘制内容的 UIView 上的背景色