常用方法
日期
- 获取当前日期
[NSDate date]
- 获取当前日期开始,若干秒后的日期
[NSDate dateWithTimeIntervalSinceNow:3600.0*10]
- 某个日期开始,若干秒后的日期
[date1 dateByAddingTimeInterval:60]
- 从1970年开始,经过了若干秒的时间
[NSDate dateWithTimeIntervalSince1970:1000]
间隔
- 从1970年到某一时间的秒数
[date timeIntervalSince1970]
- 计算二个日期的间隔
[date1 timeIntervalSinceDate:date]
- 某个日期到现在的间隔
[date1 timeIntervalSinceNow]
扩展方法
- 时间戳转指定格式的日期
<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> - 字符串和日期互相转换
<pre>
此时需要稍加注意formater格式要与字符串格式完全一致,否则转换失败。
</pre> - 星期几的获取
<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>
网友评论