我使用NSOutputStream从客户端(IOS设备)向服务器(PC设备)输出数据。 在下面的代码中我使用outputStream输出一些数据并且(此代码100%工作)
NSString *response = @" Today's Sunny \n ";
NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]];
[outputStream write:[data bytes] maxLength:[data length]];
我想使用 Outputstream 以这种格式(hh:mm:ss)输出当前时间(09:24.00)
这是我试过的
NSDate *currentTime = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"hh:mm:ss"];
//outputstream here
我非常感谢您对此事的帮助
答案 0 :(得分:1)
您需要将日期转换为字符串,然后将其添加到输出流中。
使用:
NSDate *currentTime = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"hh:mm:ss"];
NSString *timeString = [formatter stringFromDate:currentTime];
然后,您可以在输出流中发送timeString
答案 1 :(得分:1)
看看这个,它拥有你在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
是可选的,但如果需要可以使用它们。您还可以使用不同的选项,例如NSCalendarIdentifierGregorian
,timeZoneForSecondsFromGMT:
等。
dateFormat
有很多选项,例如
M / d / y - > 2012年11月4日
MM / dd / yy - > 12年11月4日
MMM d,'' yy - > 11月4日,' 12
h:mm a - >晚上8:09
或者,您也可以使用dateStyle
和timeStyle
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
答案 2 :(得分:0)
如果有人在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))
答案 3 :(得分:-2)
这是完整的答案,感谢@Adam
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]];