【问题标题】:NSDate formatting in separated hours and minutesNSDate 格式化为分开的小时和分钟
【发布时间】:2014-06-17 11:26:01
【问题描述】:

我有一个随机的 NSDate,例如它可以是 21:55:33。

我只想将其解析为 2 个不同的变量:

  1. NSDate 将是 21:00:00(小时)

  2. NSDate 00:55:33(分+秒)

【问题讨论】:

  • 这和 Xcode 有什么关系?你试过什么?
  • 这是我的sql数据库。我需要一个开始时间(一小时 21:00),持续时间是 55:33 分钟)

标签: objective-c ios7 nsdate


【解决方案1】:

您可以使用NSDateComponentsNSDate 对象中提取小时/分钟/秒:

NSDate *now = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [calendar components:NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit
                                      fromDate:now];
NSInteger hour = [comps hour];
NSInteger minute = [comps minute];
NSInteger second = [comps second];

然后,您可以根据需要使用hour/minute/second 值格式化时间。

【讨论】:

    【解决方案2】:

    trojanfoe的回答很满意,如果想试试下面的方法:

    NSDateFormatter *dateFormater=[[NSDateFormatter alloc] init];
    
    NSString * strDate=[dateFormater stringFromDate:[NSDate date]];
    
    [dateFormater setDateFormat:@"HH:00:00"];
    NSDate * date1 = [dateFormater dateFromString:strDate];
    
    [dateFormater setDateFormat:@"00:mm:ss"];
    NSDate * date2 = [dateFormater dateFromString:strDate];
    

    【讨论】:

      猜你喜欢
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多