标签: nsdate

如何在NSDate中添加1天?

基本上,正如标题所说.我想知道我怎么能加1天NSDate.

如果它是:

21st February 2011
Run Code Online (Sandbox Code Playgroud)

它会变成:

22nd February 2011
Run Code Online (Sandbox Code Playgroud)

或者如果是:

31st December 2011
Run Code Online (Sandbox Code Playgroud)

它会变成:

1st January 2012.
Run Code Online (Sandbox Code Playgroud)

cocoa-touch date objective-c nsdate

309
推荐指数
17
解决办法
19万
查看次数

NSDate获得年/月/日

NSDate没有其他信息的情况下,如何获得对象的年/月/日?我意识到我可以用类似的东西做到这一点:

NSCalendar *cal = [[NSCalendar alloc] init];
NSDateComponents *components = [cal components:0 fromDate:date];
int year = [components year];
int month = [components month];
int day = [components day];
Run Code Online (Sandbox Code Playgroud)

但这对于像NSDate年/月/日这样简单的事情来说似乎有很多麻烦.还有其他解决方案吗?

objective-c nsdate nscalendar nsdatecomponents

289
推荐指数
8
解决办法
21万
查看次数

将NSDate转换为NSString

如何转换,NSDateNSString使得只有一年@"YYYY"格式输出到字符串?

objective-c nsdate nsstring swift

251
推荐指数
9
解决办法
32万
查看次数

如何比较两个NSDates:哪个更近?

我正在尝试实现dropBox同步,需要比较两个文件的日期.一个在我的dropBox帐户上,一个在我的iPhone上.

我想出了以下内容,但我得到了意想不到的结果.我想在比较这两个日期时我做了一些根本错误的事情.我只是使用了> <运算符,但我想这并不好,因为我正在比较两个NSDate字符串.开始了:

NSLog(@"dB...lastModified: %@", dbObject.lastModifiedDate); 
NSLog(@"iP...lastModified: %@", [self getDateOfLocalFile:@"NoteBook.txt"]);

if ([dbObject lastModifiedDate] < [self getDateOfLocalFile:@"NoteBook.txt"]) {
    NSLog(@"...db is more up-to-date. Download in progress...");
    [self DBdownload:@"NoteBook.txt"];
    NSLog(@"Download complete.");
} else {
    NSLog(@"...iP is more up-to-date. Upload in progress...");
    [self DBupload:@"NoteBook.txt"];
    NSLog(@"Upload complete.");
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下(随机和错误)输出:

2011-05-11 14:20:54.413 NotePage[6918:207] dB...lastModified: 2011-05-11 13:18:25 +0000
2011-05-11 14:20:54.414 NotePage[6918:207] iP...lastModified: 2011-05-11 13:20:48 +0000
2011-05-11 14:20:54.415 NotePage[6918:207] ...db is more up-to-date.
Run Code Online (Sandbox Code Playgroud)

或者这个恰好是正确的:

2011-05-11 14:20:25.097 NotePage[6903:207] dB...lastModified: 2011-05-11 13:18:25 +0000
2011-05-11 14:20:25.098 NotePage[6903:207] iP...lastModified: 2011-05-11 13:19:45 +0000 …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c nsdate

240
推荐指数
9
解决办法
14万
查看次数

将NSString转换为NSDate(并再次返回)

我如何将NSString" 01/02/10 "(意思是2010年2月1日)转换为NSDate?我怎么能把NSDate后面变成一个字符串?

objective-c nsdate nsstring ios

227
推荐指数
5
解决办法
16万
查看次数

如何将字符串日期转换为NSDate?

我想将"2014-07-15 06:55:14.198000 + 00:00"这个字符串日期转换为Swift中的NSDate.

string nsdate ios swift

194
推荐指数
7
解决办法
19万
查看次数

获取两个NSDates之间的差异(月/天/小时/分钟/秒)

我试图获取当前日期NSDate()和PHP time();调用日期之间的区别,例如:NSDate(timeIntervalSinceReferenceDate: 1417147270).如何获得两个日期之间的时间差异.我想要一个比较两个日期的函数,if(seconds > 60)然后它返回分钟,if(minutes > 60)返回小时和if(hours > 24)返回天数等等.

我该怎么办呢?

编辑:当前接受的答案正是我想要做的.我推荐它用于在PHP time()函数使用的表单中获取两个日期之间的时间.如果你不是特别熟悉PHP,那就是1970年1月1日以秒为单位的时间.这对PHP的后端很有用.如果您使用像NodeJS这样的后端,您可能需要考虑下面的其他一些选项.

macos nsdate ios swift

194
推荐指数
6
解决办法
10万
查看次数

在NSUserDefaults中存储NSDate的最佳方法是什么?

我在NSUserDefaults中存储了两种存储NSDate的方法.

选项1 - setObject:forKey:

// Set
NSDate *myDate = [NSDate date];
[[NSUserDefaults standardUserDefaults] setObject:myDate forKey:@"myDateKey"];

// Get
NSDate *myDate = (NSDate *)[[NSUserDefaults standardUserDefaults] objectForKey:@"myDateKey"];
Run Code Online (Sandbox Code Playgroud)

选项2 - timeIntervalSince1970

// Set
NSDate *myDate = [NSDate date];
NSTimeInterval myDateTimeInterval = [myDate timeIntervalSince1970];
[[NSUserDefaults standardUserDefaults] setFloat:myDateTimeInterval forKey:@"myDateKey"];

// Get
NSTimeInterval myDateTimeInterval = [[NSUserDefaults standardUserDefaults] floatForKey:@"myDateKey"];
NSDate *myDate = [NSDate dateWithTimeIntervalSince1970:myDateTimeInterval];
Run Code Online (Sandbox Code Playgroud)

优点和缺点

选项1

这似乎是紧凑和合乎逻辑的.但是,由于Date Formatter错误,我担心这会出错.

选项2

这似乎很笨拙.我也不确定它的准确性 - 在我做过的一次测试中,当我检索到日期时它已经超过了48秒,尽管Apple Docs说NSTimeInterval具有"亚秒精度".

要求

无论我选择何种方法,都必须:

  1. 精确到一秒钟之内.

  2. 可读且可靠.

我的问题

选项2是不准确的,因为我做错了什么?

你会使用这两个选项中的哪一个?

还有其他选择我不知道吗?

谢谢!

cocoa datetime nsdate nsuserdefaults nstimeinterval

172
推荐指数
3
解决办法
5万
查看次数

使用Swift进行NSDate比较

我正在开发一个应用程序,需要检查作业的截止日期.我想知道截止日期是否在下周内,如果是,则执行操作.
我能找到的大部分文档都在Objective-C中,我无法弄清楚如何在Swift中完成它.谢谢您的帮助!!

nsdate swift xcode6

150
推荐指数
8
解决办法
9万
查看次数

如何确定今天是否有NSDate?

如何检查一个NSDate属于今天?

我曾经使用前10个字符来检查它[aDate description].[[aDate description] substringToIndex:10]"YYYY-MM-DD"这样返回字符串我将字符串与返回的字符串进行了比较[[[NSDate date] description] substringToIndex:10].

有更快速和/或更好的方式来检查?

谢谢.

cocoa-touch objective-c nsdate nscalendar ios

149
推荐指数
10
解决办法
7万
查看次数