我创建了一个将数据字符串写入文本文件的方法。我想知道我怎么能得到系统的日期和时间,并将其发送到文本文件?方法如下:
-(void) writeToTextFile{
//get the documents dir
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
//file name to write the data to using the documents directory:
NSString *fileName = [NSString stringWithFormat:@"%@/movbandlog.txt",
documentsDirectory];
//create content
NSString *content = @"Data received from devicen n n n nData sent to Portaln n n n nData received to Portal";
//save to documents directory
[content writeToFile:fileName
atomically:NO
encoding:NSStringEncodingConversionAllowLossy
error:nil];
}
纯可可
使用NSDate
和可选的NSDateFormatter
来格式化:
NSDate *currentDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd.MM.YY HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:currentDate];
// NSLog(@"%@",dateString);
// Adding your dateString to your content string
NSString *content = [NSString stringWithFormat:@"Data received from devicen n n n nData sent to Portaln n n n nData received to Portaln n n n nData received at %@", dateString];
使用Unix函数
您还可以考虑使用unix函数来处理未本地化的日期(时间戳)
struct tm sometime;
const char *formatString = "%Y-%m-%d %H:%M:%S %z";
(void) strptime_l("2005-07-01 12:00:00 -0700", formatString, &sometime, NULL);
NSLog(@"NSDate is %@", [NSDate dateWithTimeIntervalSince1970: mktime(&sometime)]);
// Output: NSDate is 2005-07-01 12:00:00 -0700