【问题标题】:I want time in HH:mm format from string in cocoa我想要 HH:mm 格式的时间,来自可可中的字符串
【发布时间】:2013-01-23 10:46:47
【问题描述】:

我想得到两个时间值,它们是这样的字符串格式:

例如: NSString *fromTime=@"11:30"; NSString *toTime=@"12:30";

我想要时间格式,我尝试使用 NSDateFormatter,

   `NSDateFormatter *df=[[NSDateFormatter alloc] init];
   [df setDateFormat:@"HH:mm"];
    NSDate *from=[df dateFromString:fromTime];
    NSLog(@"from %@",from);
    NSDate *to=[df dateFromString:toTime];
    NSLog(@"to %@",to);`

输出: 从 1970-01-01 06:00:00 +0000 至 1970-01-01 07:00:00 +0000

但我只想要时间。

【问题讨论】:

    标签: objective-c cocoa nsdate nsdateformatter


    【解决方案1】:

    NSDate 是一个完整的日期对象,它总是包含一个完整的日期和时间。 它还将返回一个以 GMT 作为时区的日期(+0000 在时间之后的部分)。

    您可以忽略日期部分而只使用时间部分。

    【讨论】:

    • 如何忽略日期部分而只使用时间部分?可以给我一个示例代码吗?
    • 从日期创建字符串时只需使用NSDateFormatter,并将日期格式设置为HH:mm,您将得到一个没有日期部分的字符串。
    【解决方案2】:

    你可以试试这个方法stringFromDate

             NSDateFormatter *df=[[NSDateFormatter alloc] init];
            [df setDateFormat:@"HH:mm"];
            NSDate *from=[df dateFromString:fromTime];
            NSLog(@"from %@",[df stringFromDate:from]);
            NSDate *to=[df dateFromString:toTime];
            NSLog(@"to %@",[df stringFromDate:to]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-09
      • 2021-08-31
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多