2016-05-09 28 views
-2

我使用NSOutputStream将数据从客户端(IOS设备)输出到服务器(PC设备)。 在下面的代码我使用1.4.3和OutputStream的一些数据(此代码的工作100%)IOS:将NSDate对象转换为字符串以获取当前时间

NSString *response = @" Today's Sunny \n "; 
NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]]; 
[outputStream write:[data bytes] maxLength:[data length]]; 

我想这样做使用的OutputStream输出电流时一样(09一样的东西: 24.00)这种格式(HH:MM:SS)

这里是我曾尝试

NSDate *currentTime = [NSDate date]; 
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; 
    [formatter setDateFormat:@"hh:mm:ss"]; 
    //outputstream here 

我会很感激你的帮助,在这个问题上

+0

因此,一个'NSDateFormatter'格式的问题吗? – trojanfoe

+0

@trojanfoe是的,我试图使用outputstream输出NSDateFormatter中的当前时间。 –

+2

在这个网站上有成千上万的问题。你也需要改变你的问题,因为它与'NSOutputStream'无关。 – trojanfoe

回答

1

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

用途:

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

然后,您可以在您的输出流发送TIMESTRING

+0

你有什么问题可以帮我解决这个问题吗?http://stackoverflow.com/questions/37141410/ios-how-to-reconnect-to-the-server-pc-after-its-got-disconnected –

-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]]; 
+0

12小时时钟?那是你想要的吗? – trojanfoe

+0

@trojanfoe是的,时间格式是12小时 –

0

如果有人需要阿萨姆邦的代码+亚当在斯威夫特,这里是:

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)) 
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]; 

设置CalendarTimeZone是可选的,但如果需要可以使用它们。你也有不同的选配对他们来说,就像NSCalendarIdentifierGregoriantimeZoneForSecondsFromGMT:

您有dateFormat很多选择,例如

M/d/Y - > 2012年11月4日

MM/DD/YY - > 12年11月4日

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

H:毫米 - >下午8时09

或者,您可以改用dateStyletimeStyle

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

虽然这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/12294505) – Eiko

+0

@Eiko好的。更新了一些代码示例和解释 – Stephenye

相关问题