【发布时间】:2014-10-08 11:32:46
【问题描述】:
我有以下代码将字符串转换为日期。是否有可能将时间设置为“00:00:00”而不是当前时间?
NSDateFormatter *dateformat = [[NSDateFormatter alloc] init];
[dateformat setDateFormat:@"yyyy-MM-dd"];
NSString *str = @"2014-08-08";
NSDate *dt = [dateformat dateFromString:str];
这将 dt 设为“2014-08-08 15:20:00 +0000”,因为我在 15:20 进行了操作。
编辑:我稍后将使用此日期将其转换为整数以将其存储在数据库中:
int t = [dt timeIntervalSince1970];
【问题讨论】:
-
什么样的数据库?核心数据?如果是这样,您不需要转换。无论哪种方式,这种转换都会很好。不过请确保您使用
NSInteger。 -
整个问题都没有实际意义。你在做什么是正确的。为了获得字符串“2014-08-08 15:20:00 +0000”,您必须在某处显示它。这让你认为有一个错误。没有。欢迎与 NSDate 合作。处理 TimeZones 是您必须要做的事情。
-
sqlite 使用 FCModel 包装器。为什么使用 NSInteger 而不是 int?
-
NSInteger 将根据设备使用正确的 32/64 位版本。 int 在任一设备上都是 32 位 int。与 CGFloat 相同,而不是 float。等等......无论如何,只需使用您拥有的日期。它是正确的。时区差异让您认为它不正确。