IOS: Convert a NSDate object into a string to get the current time
本问题已经有最佳答案,请猛点这里访问。
我正在使用nsoutputstream将数据从客户机(iOS设备)输出到服务器(PC设备)。在下面的代码中,我使用outputstream输出一些数据(此代码100%工作)
1 2 3 4 | NSString *response = @" Today's Sunny "; NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]]; [outputStream write:[data bytes] maxLength:[data length]]; |
我想使用outputstream以这种格式(hh:mm:ss)输出当前时间,就像(09:24.00)一样。
这是我试过的
1 2 3 4 | NSDate *currentTime = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"hh:mm:ss"]; //outputstream here |
我非常感谢你在这件事上的帮助
看看这个,它有关于iOS日期编程的所有你需要的东西http://rypress.com/tutorials/objective-c/data-types/日期
更新了一些代码示例:
将当前时间从nsdate转换为nsstring:
1 2 3 4 5 6 7 8 | 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]; |
设置
例如,您可以为
M/d/y --> 11/4/2012
MM/dd/yy --> 11/04/12
MMM d, ''yy --> Nov 4, '12
h:mm a --> 8:09 PM
或者,您可以使用
1 2 | [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; |
您需要将日期转换为字符串,然后将其添加到输出流中。
用途:
1 2 3 4 | NSDate *currentTime = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"hh:mm:ss"]; NSString *timeString = [formatter stringFromDate:currentTime]; |
然后可以在输出流中发送时间字符串
如果有人需要阿萨姆亚当斯威夫特的密码,这里是:
1 2 3 4 5 6 7 | 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)) |
这是完整的答案,感谢@adam
1 2 3 4 5 6 | NSDate *currentTime = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"hh:mm:ss"]; NSString *timeString = [formatter stringFromDate:currentTime]; [outputStream write:[timeString UTF8String] maxLength:[timeString lengthOfBytesUsingEncoding:NSUTF8StringEncoding]]; |