IOS:将NSDate对象转换为字符串以获取当前时间

这个问题在这里已经有了答案:

  • 如何检查一个字符串是否包含Objective-C中的另一个字符串? 20个答案

  • 您需要将日期转换为字符串,然后将其添加到输出流中。

    使用:

    NSDate *currentTime = [NSDate date]; 
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    [formatter setDateFormat:@"hh:mm:ss"];
    NSString *timeString = [formatter stringFromDate:currentTime];
    

    然后您可以在输出流中发送timeString


    看看这个,它拥有iOS上的日期编程所需的一切http://rypress.com/tutorials/objective-c/data-types/dates

    更新了一些代码示例:

    将当前时间从NSDate转换为NSString:

    NSDate *currentTime = [NSDate date]; 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    
    [dateFormatter setCalendar:[NSCalendar currentCalendar]];
    [dateFormatter setTimeZone:[NSTimeZone defaultTimeZone]];
    [dateFormatter setDateFormat:@"M.d.y"];
    
    NSString *stringResult = [dateFormatter stringFromDate:currentTime];
    

    设置Calendar和时TimeZone是可选的,但如果需要可以使用它们。 你也有不同的选项,比如NSCalendarIdentifierGregoriantimeZoneForSecondsFromGMT:等等。

    例如,您有很多用于dateFormat选项

    M / d / y - > 11/4/2012

    MM / dd / yy - > 11/04/12

    MMM d,''yy - > 11月4日,'12

    h:mm a - > 8:09 PM

    或者,您可以改为使用dateStyletimeStyle

    [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter setTimeStyle:NSDateFormatterShortStyle];
    

    如果有人需要Swift中Assam + Adam的代码,这里是:

    var currentTime:NSDate  = NSDate.date()
    
    var formatter:NSDateFormatter  = NSDateFormatter.alloc().init()
    formatter.setDateFormat("hh:mm:ss")
    
    var timeString:NSString  = formatter.stringFromDate(currentTime)
    outputStream.write(timeString.UTF8String(),maxLength:timeString.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
    
    链接地址: http://www.djcxy.com/p/73987.html

    上一篇: IOS: Convert a NSDate object into a string to get the current time

    下一篇: C: If string contains...?