专业知识分享(iOS)

日期常用方法

2017-05-19  本文已影响6人  路上的Acmen

常用方法

日期

  1. 获取当前日期
    [NSDate date]
  2. 获取当前日期开始,若干秒后的日期
    [NSDate dateWithTimeIntervalSinceNow:3600.0*10]
  3. 某个日期开始,若干秒后的日期
    [date1 dateByAddingTimeInterval:60]
  4. 从1970年开始,经过了若干秒的时间
    [NSDate dateWithTimeIntervalSince1970:1000]

间隔

  1. 从1970年到某一时间的秒数
    [date timeIntervalSince1970]
  2. 计算二个日期的间隔
    [date1 timeIntervalSinceDate:date]
  3. 某个日期到现在的间隔
    [date1 timeIntervalSinceNow]

扩展方法

  1. 时间戳转指定格式的日期
    <pre> + (NSString *)secondTransYearMonther:(NSString *)time isAddHour:(BOOL)isAdd
    {
    NSTimeInterval _interval = [time doubleValue];
    NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
    NSDateFormatter *objDateformat = [[NSDateFormatter alloc] init];
    if (isAdd) {
    [objDateformat setDateFormat:@"yyyy年MM月dd日 hh:mm:ss"];
    }
    else{
    [objDateformat setDateFormat:@"yyyy年MM月dd日"];
    }
    NSString *temp = [objDateformat stringFromDate:date];
    return temp;
    }
    </pre>
  2. 字符串和日期互相转换
    <pre>
    此时需要稍加注意formater格式要与字符串格式完全一致,否则转换失败。
    </pre>
  3. 星期几的获取
    <pre>+ (NSString *)weekdayStringFromDate:(NSDate*)inputDate
    {
    NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"星期日", @"星期一", @"星期二", @"星期三", @"星期四", @"星期五", @"星期六", nil];
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
    NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Asia/Shanghai"];
    [calendar setTimeZone: timeZone];
    NSCalendarUnit calendarUnit = NSCalendarUnitWeekday;
    NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:inputDate];
    return [weekdays objectAtIndex:theComponents.weekday];
    }
    </pre>
    <pre>
    根据项目的需要内容会持续扩充
    </pre>
上一篇下一篇

猜你喜欢

热点阅读