标签: nsdate

格式化NSDate

我从RSS Feed中提取数据.Feed中的一个键是表示项目创建日期和时间的字符串.

我试图将此字符串值转换为NSDate.字符串值从RSS源返回为:2009-11-18T22:08:00 + 00:00

我尝试了以下代码无济于事:

    NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyyMMdd HH:mm"];
NSDate *myDate = [df dateFromString: [[storedDates objectAtIndex:indexPath.row] objectForKey: @"UsersDate"]];
Run Code Online (Sandbox Code Playgroud)

理想的情况下; 除了将值转换为NSDate值之外,我还想使用手机上的本地化日期格式对其进行格式化.

任何指针都会有很大的帮助.

亲切的问候

iphone rss datetime nsdate

0
推荐指数
1
解决办法
2820
查看次数

NSDate 1年前

考虑开始日期和结束日期:

NSDate *startDate, *endDate;
Run Code Online (Sandbox Code Playgroud)

例如,startDate可能是2010年12月10日,endDate可能是2011年1月4日.

考虑从2010年12月10日到2011年1月4日的天数.

我如何确定相同天数但恰好在1年前的日期范围.我希望它能够考虑到闰年.所以我不能简单地从每个日期减去365天.

我想最终得到:

NSDate *oneYearAgoStartDate, *oneYearAgoEndDate.
Run Code Online (Sandbox Code Playgroud)

所以也许在这种情况下,oneYearAgoStartDate将是2009年12月10日,oneYearAgoEndDate将是2010年1月4日(注意我还没有证实这一点).

我怎么能初始化这两个变量来实现我的需要.

iphone nsdate ios

0
推荐指数
1
解决办法
2587
查看次数

iPhone - NSDate - NSString - NSDate之间的转换

我正在使用以下代码来获取NSDate,将其转换为NSString然后返回到NSDate.

NSDateFormatter* dtFormatter = [[NSDateFormatter alloc] init];
[dtFormatter setDateFormat:@"MM/dd/YYYY"];

NSDate* dt = [NSDate date];
NSString* strDate = [dtFormatter stringFromDate:dt];
NSLog(@"First = %@",strDate);
NSDate* dt2 = [dtFormatter dateFromString:strDate];
NSString* strDate2 = [dtFormatter stringFromDate:dt2];
NSLog(@"Second = %@",strDate2);
Run Code Online (Sandbox Code Playgroud)

但我得到的输出是不同的:

2011-02-12 08:17:21.851 SF Calculation[16297:207] First = 02/12/2011
2011-02-12 08:17:21.852 SF Calculation[16297:207] Second = 12/26/2010
Run Code Online (Sandbox Code Playgroud)

将NSDate转换为NSString并从NSString转换回NSDate时,为什么会有所不同?

objective-c nsdate nsstring

0
推荐指数
1
解决办法
997
查看次数

如何将像"2011-06-25T11:00:26 + 01:00"这样的日期字符串转换为像iPhone一样长的字符串?

我需要将此字符串日期"2011-06-25T11:00:26 + 01:00"转换为长期值.

我试过这个

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];

[df setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];

[df setDateFormat:@"yyyy-MM-ddHH:mm:ssZ"];

NSDate *date = [df dateFromString:[time stringByReplacingOccurrencesOfString:@"T" withString:@""]];

[df setDateFormat:@"eee MMM dd, yyyy hh:mm"];

NSLog(@"time%@", time);
long lgTime =  (long)[date timeIntervalSince1970];
Run Code Online (Sandbox Code Playgroud)

但这不起作用.请帮我.

提前致谢.

iphone objective-c nsdate nsdateformatter

0
推荐指数
1
解决办法
3198
查看次数

NSDate返回null

我试过这个:

NSDateFormatter *df= [[[NSDateFormatter alloc] init] autorelease];

[df setDateFormat:@"yyyy-MM-dd HH:MM:SS"];

NSDate *dt2 = [df dateFromString:@"2011-11-23 09:44:12"];
Run Code Online (Sandbox Code Playgroud)

但当我这样做时:

NSLog(@"dt2 is %@", dt2);
Run Code Online (Sandbox Code Playgroud)

它返回null.任何想法为什么?

iphone nsdate

0
推荐指数
1
解决办法
311
查看次数

在iphone格式化时日期出错?

嗨,我正在尝试格式化我从服务器获取的日期.我试过这样的

NSString *dateStr =@"2012-5-21";
    // Convert string to date object
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"yyyy-mm-dd"];
    NSDate *date = [dateFormat dateFromString:dateStr];


    // Convert date object to desired output format
    [dateFormat setDateFormat:@"dd MMM yyyy"];
                                dateStr = [dateFormat stringFromDate:date];  
    finalDate.text=dateStr;


    [dateFormat release];
Run Code Online (Sandbox Code Playgroud)

但代替21 May 2012.我正进入(状态21 Jan 2012

iphone xcode objective-c nsdate nsdateformatter

0
推荐指数
1
解决办法
92
查看次数

为什么这个类型不适用?

我一直在研究这个问题,似乎无法找到解决方案.在我的应用程序中,我ABAddressBook通过创建日期唯一地标识联系人,因为不能同时创建两个联系人.在我的应用程序中,创建日期存储在一个名为的字符串中uid,如下所示.我正在检查两个联系人是否相同,我通过执行以下条件语句来执行此操作:

NSString *uid = @"some string";

if([(__bridge_transfer NSString *)ABRecordCopyValue(currentPersonRef, kABPersonCreationDateProperty) isEqualToString:uid]) {

    //Do some code
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,我收到以下错误:

[__NSDate isEqualToString:]:无法识别的选择器发送到实例0x8c7c770

我敢肯定,问题是,ABRecordCopyValue()返回了不被强制转换为一个NSDate对象NSString(__bridge_transfer NSString *),所以当我把它比作uidisEqualToString,它崩溃.问题是,我认为通过将其转换为NSString对象,isEqualToString:可行.我的问题是:

为什么(__bridge_transfer NSString*)没有强制转换NSDate对象?


编辑:

提供的答案很有用,但它们并没有完全解决我的问题(实际上他们确实如此,但我有一个后续问题).在我的代码的另一部分,我运行这个:

NSString *uid = (__bridge_transfer NSString *)ABRecordCopyValue(currentPerson, kABPersonCreationDateProperty);
Run Code Online (Sandbox Code Playgroud)

如果我NSLog uid我得到这个:

2012-10-28 21:55:29 +0000

那么uid如果isEqualToString:不起作用,我将如何在上述条件语句中进行比较?

crash objective-c nsdate abaddressbook ios

0
推荐指数
1
解决办法
235
查看次数

NSDate今天午夜

我正在建立一个NSPredicate来获取Core Data,它的设置如下:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(date >= %@) AND (date <= %@)", todaysDate, tomorrowsDate];
Run Code Online (Sandbox Code Playgroud)

我需要todaysDate今天00:00:00,我需要tomorrowsDate今天23:59:59.

我不能设置todaysDate等于[NSDate date]然后用NSDateComponents操纵小时,分钟和秒,因为[NSDate date]给我一个比我当地实际时间提前5小时的日期(所以如果它是在5月6日晚上11点,那么[NSDate date]会给我"2014-05-07 04:00:00 +0000",但我仍然需要它认为它是5月6日,而不是7日!).

我如何操纵我在Xcode中使用的工具,以便始终将我的变量todaysDate变为今天午夜,并tomorrowsDate在明天午夜之前成为第二个?

logic date nsdate nspredicate

0
推荐指数
1
解决办法
2048
查看次数

iOS将NSString转换为NSDate总是零

我正在尝试将字符串转换为NSdate.字符串日期是" 12/27/2014 07:42:00 AM +0000 "

这是我的代码:

NSDate *date =[[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"MM/dd/yyyy HH:mm:ss a";
date = [ dateFormatter dateFromString:dateString];
Run Code Online (Sandbox Code Playgroud)

日期值始终为零.你们中的任何人都知道我的错误是什么?

我真的会帮助你.

objective-c nsdate nsstring ios

0
推荐指数
2
解决办法
3775
查看次数

Swift - 将毫秒转换为日期

我有一个数据结构,其中包含以毫秒为单位的时间戳,例如1470075992.我想将此转换为仅日期,即示例24/12/2016,而不保留转换产生的其他详细信息.

我可以用什么功能来实现这个目标?

谢谢,

date nsdate ios swift

0
推荐指数
1
解决办法
5874
查看次数