NSString要NSDate转换的回报null.
原始字符串输出" 2013-07-16T18:42:56 + 02:00 ",但当我尝试转换为NSDate它时返回"null"
这是我的代码:
// original string
NSString *str = [timeStamp objectAtIndex:indexPath.row];
// convert to date
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
//[dateFormat setDateFormat:@"YYYY-MM-dd'T'HH:mm:ss'+11:00'"];
[dateFormat setDateFormat:@"YYYY-MM-dd'T'HH:mm:ssZZZ"]; // updated from Stavash's post below. Still null is outputted for the date though
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"Australia/Melbourne"]];
NSDate *dte = [dateFormat dateFromString:str];
cell.timeStampLabel.text = [NSString stringWithFormat:@"%@",dte ];
Run Code Online (Sandbox Code Playgroud) 我有个约会.
NSLog 显示为:
2014-05-11 21:59:59 +0000
Run Code Online (Sandbox Code Playgroud)
现在我想获得相同的日期,但小时,分钟和秒设置为零:
2014-05-11 00:00:00 +0000
Run Code Online (Sandbox Code Playgroud)
我的代码:
NSCalendar *calendar = [NSCalendar currentCalendar];
[calendar setTimeZone:[NSTimeZone localTimeZone]];
NSDateComponents *components = [calendar components:(NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit) fromDate:dayOfWeek];
NSLog(@"components: %@", components);
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:[components year]];
[comps setMonth:[components month]];
[comps setDay:[components day]];
[comps setHour:0];
[comps setMinute:0];
[comps setSecond:0];
NSLog(@"New date: %@", [calendar dateFromComponents:comps]);
Run Code Online (Sandbox Code Playgroud)
但NSLog显示:
2014-05-10 22:00:00 +0000
Run Code Online (Sandbox Code Playgroud)
似乎日和小时计算错误.请注意,我在德国,但我使用,[NSTimeZone localTimeZone]因为我认为这应该返回正确的时区?
我有两个日期时间之间的时差.以秒为单位的间隔是3660,这意味着1小时1分钟前.如何像以前所说的那样以小时和分钟显示秒的间隔?我可以通过这样的工作来获得一小时的工作(3600/60)/60时间,但我如何得到剩余的分钟以及小时?
任何帮助赞赏.
我有一个字符串2013-01-10T08:24:12.503这是'日期'和'时间'.这是我从服务器收到的格式.
我希望以2013-01-10 08:24:12的格式显示.我怎样才能做到这一点?
请帮帮我.
我正在寻找一种NSMutableArray基于字典中包含的日期对字典进行排序的方法.每个人看起来像这样:
{
name: tom,
surname: smith,
date of birth (NSDate): 2013-02-21 15:25:27
}
Run Code Online (Sandbox Code Playgroud)
我知道方法earlierDate等,但因为他们只比较两个日期我只是有点卡在如何迭代数组,以便我出来一个完全有序的字典数组?
我需要将12小时时间格式的字符串更改为NSDate.我使用下面给出的代码,但它返回null.谁能帮我这个??
NSString = @"04/03/2013 7pm";
NSDateFormatter *df = [[NSDateFormatter alloc]init];
[df setDateFormat:@"dd/MM/yyyy hh:mm a"];
NSDate *date = [df dateFromString:selectedDateString];
Run Code Online (Sandbox Code Playgroud) 我的秒数为54000.我如何得到时间为下午3:00点?
我可以使用任何dateformatter来获取它吗?
谢谢
我有NSString有价值" 22/04/2013 05:56",根据要求我只想计算这个时间和日期,并显示一些基于条件的消息.
第一个条件: If(字符串日期=当前日期和字符串时间=当前时间)||(字符串日期=当前日期和字符串时间<当前时间1分钟)
第二个条件: If(String date =当前日期和stringtime>当前时间由多少分钟或小时)
第三个条件:要知道字符串日期是昨天.
第四个条件:To Know是字符串日期是前天.
我从服务器收到这个字符串.如何通过这个"22/04/2013 05:56"字符串实现上述目标.
我想比较两个日期,并在一个小于或等于另一个时做某事,我试着这样做:
if ([self.system.systemInbetriebnahme compare:date] == NSOrderedDescending)
return nil;
Run Code Online (Sandbox Code Playgroud)
但这样就消除了它们两者相等的情况是否有办法比较日期>=?
谢谢
更多细节: 我有一个双维数组的日期,我有一个日期存储在核心数据(通过日期选择器),我通过循环比较两个日期与规则:数组中的日期必须是大于或等于存储在数据库中的输入日期.
最新编辑:
我导入一个csv文件,在解析和格式化后给我两行(一行用于数字值,一行用于日期).在这里,我对约会很感兴趣.
我将所有这些存储在一个数组中并在检查此函数中数据的一致性后保存:
for (NSArray * row in array) {
// Handle import if there are at least two rows
if (row.count > 1) {
dispatch_sync(dispatch_get_main_queue(), ^{
// Try to import value,date formatted row
double value = [row[0] doubleValue];
NSDate * date = [dateFormatter dateFromString:row[1]];
//else {
// Try to import date,value row
if (date && value != 0.0) {
[self addReading:value forDate:date];
}
Run Code Online (Sandbox Code Playgroud)在这里我调用函数addreading …
我的时间戳日期如下:1474914600000
现在,我想以dd-mm-yyyy的格式将此时间戳转换为NSDate.
如何在目标c中完成?
nsdate ×10
objective-c ×9
ios ×4
nsstring ×2
cocoa-touch ×1
iphone ×1
nsarray ×1
nsdictionary ×1
nstimezone ×1