我有一个NSDate可以登录到控制台(在我的机器上使用我的设置),如下所示:

2015-12-30 18:10:27 +0000

如何将其转换为可存储在这样的远程服务器上的字符串?

2015-12-30 18:10:27

由于服务器必须为多个客户端提供服务,因此,服务器上的日期必须始终保持一致的格式非常重要。

我的理解是NSFormatter使用的本地设置因客户端而异,因此我不能依靠它始终提供相同的字符串格式来保存在服务器上,因此我一头雾水:

这是我到目前为止的代码:

    NSDate *date = self.datePicker.date;
    NSLog(@"date is:%@",date); //logs as above => 2015-12-30 18:10:27 +0000
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    NSString *datestring = [dateFormatter stringFromDate:date];
NSLog(@"datestring%@",datestring); //logs => 2015-12-30T13:10:27.000Z


这不是我想要的,我也不相信它将始终在不同的手持设备上创建相同的格式以保存在服务器上。

将不胜感激任何建议。

最佳答案

您可以使用UNIX时间戳:

NSString *timestamp = [NSString stringWithFormat:@"%f",[date timeIntervalSince1970] * 1000];


或者,您可以设置NSDateFormatter的自定义日期格式:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
NSString *datestring = [dateFormatter stringFromDate:date];

关于ios - 将NSDate转换为另一种格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33595256/

10-14 16:58
查看更多