如何设置现有NSDate的时间?
那就是我有一个约会(比如说当前日期/时间),但是想把它设置为特定的时间(例如11.23am).在目标C中最快的方法是什么?
我在看NSCalendar,看的方法,如dateByAddingComponents:toDate:options:,和dateFromComponents:,但这些似乎并没有很切中要害了什么,我需要在这里.例如:
dateFromComponents: - 我必须解决所有这些工作的组件,这似乎有点矫枉过正dateByAddingComponents:toDate:options: - 我不想在我的情况下添加,而是"设置"时间.这是我应该如何传递Date到NSPredicate.init(format predicateFormat: String, arguments argList: CVaListPointer).
let endDate = Date()
NSPredicate(format: "endDate == %@", endDate as CVarArg)
Run Code Online (Sandbox Code Playgroud)
它看起来有点笨拙,我怀疑我做错了什么.
如何获得单个NSDate的NSDateComponents?我不想要两个日期之间的差异组件,只是NSDate的秒,分,小时,日,月和年?
我有以下代码.
NSDateFormatter *df = ...;
[df setTimeZone:[NSTimeZone defaultTimeZone]];
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"];
NSDate * date = [df dateFromString:date_string]; //here is the problem
Run Code Online (Sandbox Code Playgroud)
在24小时模式下一切都很好.在设备上设置12小时模式时,stringFromDate返回null.date_string的格式也始终相同,日期格式也一样.为什么会这样?
我刚刚完成我的应用程序和beta测试发现秒表部分的一个错误...秒表使用一个nstimer进行计数并有一个用于存储圈数的表,但是当滚动表圈时手表停止或暂停并没有弥补失去的时间.
通过使用以下方式消除了停滞:
startingTime = [[NSDate date] timeIntervalSince1970];
Run Code Online (Sandbox Code Playgroud)
计算经过的时间.
但是我仍然使用NSTimer来触发每0.1秒,这意味着滚动仍然会使定时器停止,即使经过的时间最终会正确更新...并且将它与Apple秒表进行比较它让我想知道是否秒表有一个单独的线程,仅用于计算经过的时间.有谁知道这是怎么做的?
现在,使用Epoch以来的时间在某种意义上运作良好,但它使启动,停止和重新启动秒表的问题复杂化
当手表停止时,时间被存储并用于计算手表重新启动时的偏移量,但似乎有一些延迟时间,并且当手表重新启动时,时间会明显跳跃.
任何对根本原因或解决方案的想法都将非常感激.
这是我发现自己花了几个小时才弄明白并因此想与你分享的事情.
问题是:如何确定特定日期的一年中的哪一天?
例如,1月15日是第15天,12月31日是第365天,而不是闰年.
可能重复:
如何在iPhone中获得时差
我从JSON Feed获取日期和时间.我需要找到从饲料中获得的日期与今天的日期和时间之间的差异.有什么建议我怎么做?
我知道我需要用从Feed中获取的日期减去当前日期,但我不知道该怎么做.
例如:
来自饲料的日期:Date: 2011-06-10 15:00:00 +0000
今天:Date: 2011-06-10 14:50:00 +0000
我需要显示差异是十分钟.
谢谢!
我想写使用接受一个NSDate对象,并返回一个包含相同的日期值,但已经消除之日起,任何时间部件一个NSDate对象目标C的简单功能.
例如,如果我是通过一个NSDate与"2010-10-12 9时29分34秒"的函数的值将返回2010-10-12 00:00:00.
我正在使用的功能似乎正常工作.但是,当我测试我正在使用Instruments开发的iPhone应用程序时,它报告我正在使用的功能中存在内存泄漏.看看我的功能如下.哪里有内存泄漏?有没有更好的方法来实现我想要的功能?
提前致谢!!
-(NSDate *)dateWithOutTime:(NSDate *)datDate
{
if (datDate == nil)
{
datDate = [NSDate date];
}
unsigned int intFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
components = [calendar components:intFlags fromDate:datDate];
return [calendar dateFromComponents:components];
}
Run Code Online (Sandbox Code Playgroud) 如何确定NSDate(包括时间)是否已通过?我需要基本上将今天的日期与数据库中的日期进行比较,但是我很难过.
我的应用程序中有两个UIDatePicker控件,一个配置了UIDatePickerModeDate,另一个配置了UIDatePickerModeTime.
我想配置一个NSDate对象,其中包含来自UIDatePicker的日期和来自第二个的时间......如何?
谢谢,马克
nsdate ×10
objective-c ×6
iphone ×4
ios ×3
cocoa ×2
cocoa-touch ×1
datetime ×1
json ×1
nscalendar ×1
nspredicate ×1
nstimer ×1
swift ×1
swift3 ×1
uidatepicker ×1
xcode ×1