ios - 如何在 NSDate 中添加毫秒?
<p><p>我有一个核心数据,我有一个名为 <code>time</code> 的实体的属性,该属性是 <code>NSDate</code> 类型的,其中包含在商店中添加的时间。</p>
<p>当我尝试提取数据时,我需要按添加时间排序,并且我使用的是 <code>NSSortDescriptor</code>。我的问题是当我有两个或多个相同时间的条目时:</p>
<pre><code>time = "2015-12-15 12:48:08 +0000";
time = "2015-12-15 12:48:08 +0000";
time = "2015-12-15 12:48:09 +0000";
time = "2015-12-15 12:48:09 +0000";
</code></pre>
<p>这里的订单将丢失,因为我在 <code>NSDate</code> 中没有毫秒。 </p>
<p>我该如何解决这个问题?</p>
<pre><code>NSSortDescriptor *sortDescriptor = [ initWithKey:@"time"
ascending:YES];
];
NSError *error;
NSArray *arr =;
</code></pre>
<p>编辑!
声明:</p>
<pre><code>@property (nonatomic, retain) NSDate * time;
</code></pre>
<p>初始化:</p>
<pre><code>newContact.time = ;
</code></pre>
<p>第二种类型的初始化是:</p>
<pre><code>NSDateFormatter *dateformatter = [ init];
];
;
NSString *timeString = ]
NSDateFormatter *dateFormatter = [ init];
];
;
NSDate *sentTime = ;
newContact.time = sentTime;
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>NSDate 确实包含毫秒。<br/></p>
<blockquote>
<p>Date objects are immutable, representing an invariant time interval
relative to an absolute reference date (00:00:00 UTC on 1 January
2001).</p>
</blockquote>
<p>此引用日期的单位是 <code>NSTimeInterval</code>,它是一个 <code>double</code>,小数部分包含毫秒。</p>
<blockquote>
<p>NSTimeInterval is always specified in seconds; it yields
sub-millisecond precision over a range of 10,000 years.</p>
</blockquote>
<p>NSDate 是通过使用 NSTimeInterval 使用他指定的初始化器 <code>-initWithTimeIntervalSinceReferenceDate:(NSTimeInterval)seconds</code> 创建的。如果我一个接一个地调用此方法,会发生以下情况:</p>
<pre><code> var interval = NSDate.timeIntervalSinceReferenceDate()
print("\(interval)")
interval = NSDate.timeIntervalSinceReferenceDate()
print("\(interval)")
// 471879256.255005
// 471879256.259943
</code></pre>
<p>现在,CoreData 可以直接保存 NSDate 对象,我的问题是:</p>
<ul>
<li>你保存的是 NSDate 还是格式化的字符串?</li>
<li>这些日期是如何创建的?从字符串?如果它们来自字符串,您是否正确阅读它们?</li>
<li>注意,你打印的是一个字符串表示,如果你想打印真正的值,你应该问 <code>-timeIntervalSinceReferenceDate</code> 属性,你可以确定描述符是通过使用它来排序的. </li>
</ul>
<p><br/>
我真的怀疑 CoreData 是否保存 NSDate 四舍五入的值。</p></p>
<p style="font-size: 20px;">关于ios - 如何在 NSDate 中添加毫秒?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/34290353/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/34290353/
</a>
</p>
页:
[1]