【问题标题】:Set manual time to today date and make datetime object in ios6将手动时间设置为今天日期并在 ios6 中创建日期时间对象
【发布时间】:2012-09-20 04:40:30
【问题描述】:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd";
NSTimeZone *gmt =  [NSTimeZone defaultTimeZone];
[dateFormatter setTimeZone:gmt];
NSString *cur_date= [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"%@",cur_date);

现在我将手动时间设置为今天的日期:

NSString *cur_time=@"13:05:08";

dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSDate *date_obj=[dateFormatter dateFromString:[cur_date stringByAppendingFormat:@" %@",cur_time]];
NSLog(@"%@",date_obj);

但我今天在NSlog 中显示为

2012-09-28 07:35:08 +0000

即使我将时间设置为13:05:08

如何将手动时间设置为当前日期并从中创建一个datetime 对象?

【问题讨论】:

    标签: iphone ios ios-simulator ios6


    【解决方案1】:

    这样做

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateFormat = @"yyyy-MM-dd";
    //You can either use UTC or GMT
    NSTimeZone *gmt =  [NSTimeZone timeZoneWithName:@"GMT"];// This is where I made the change
    [dateFormatter setTimeZone:gmt];
    NSString *cur_date= [dateFormatter stringFromDate:[NSDate date]];
    NSLog(@"%@",cur_date);    
    
    NSString *cur_time=@"13:05:08";
    
    dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
    NSDate *date_obj=[dateFormatter dateFromString:[cur_date stringByAppendingFormat:@" %@",cur_time]];
    NSLog(@"date %@",date_obj);
    

    希望这会奏效

    【讨论】:

    • 我已经检查过了,但它仍然在日期对象中给出了错误的时间
    • 但是当我检查时,它给了我这个... 2012-09-28 13:05:08 +0000
    【解决方案2】:
    //Try using Time Interval
    
    [myDate addTimeInterval:entertimeinterval];
    

    【讨论】:

      猜你喜欢
      • 2018-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      • 2014-03-22
      • 1970-01-01
      相关资源
      最近更新 更多