NSDate conversion utilities

// Gets UTC NSDate from DateTime(.Net/WCF).

+ (NSDate *)fromDateTime:(NSString *)dateTime {
    NSDate *utcDate;
    if ([dateTime isMemberOfClass:[NSNull class]]) {
        utcDate = nil;
    } else {
        NSInteger offset = [[NSTimeZone timeZoneWithName:@"UTC"] secondsFromGMT];
        utcDate = [[NSDate dateWithTimeIntervalSince1970:[[dateTime substringWithRange:NSMakeRange(6, 10)] intValue]] dateByAddingTimeInterval:offset];
    }
    
    return utcDate;
}

// Converts NSDate to UTC DateTime(.Net/WCF).

- (NSString *)toDateTime {
    NSDateFormatter *utcFormatter = [[NSDateFormatter alloc] init];
    [utcFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
    
    return [NSString stringWithFormat:@"/Date(%.0f000%@)/", [self timeIntervalSince1970],[utcFormatter stringFromDate:self]];
}


// Converts UTC NSDate to local time.

- (NSString *)utcToLocalTime {
    // offset second
    NSInteger seconds = [[NSTimeZone systemTimeZone] secondsFromGMT];
    
    NSDateFormatter *localTimeFormatter = [[NSDateFormatter alloc] init];
    [localTimeFormatter setDateFormat:@"MM/dd/yyyy HH:mm"];
    [localTimeFormatter setTimeZone :[NSTimeZone timeZoneForSecondsFromGMT: seconds]];
    
    return [localTimeFormatter stringFromDate:self];
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值