时间日历类
导语
在iOS开发时,会经常用到一些处理时间的函数和方法,比如求当前时间,计算两个日期差几天,格式化现在时间与给定的秒数的时间差等。
所以就整理并归纳了一些比较实用的方法。
主要用到的类有: NSDate, NSDateFormatter, NSCalendar, NSDateComponents, NSTimeInterval,
一、类的实现
1. CXZTimeUtil.h
#import <UIKit/UIKit.h>
@interface CXZTimeUtil : NSObject
/**
* 得到单例
*T
* @return 单例的对象
*/
+ (id)getInstance;
/**
* 得到当前时区的时间,一般为北京时间
*
* @return NSDate对象
*/
- (NSDate *)dateNow;
/**
* 获取自1970年到现在的秒数
*
* @return 秒数
*/
- (NSInteger)currentSecond;
/**
* 获取自1970年到现在的毫秒数
*
* @return 毫秒数
*/
- (long long)currentMsec;
/**
* 获取当前的日期对象
*
* @return 日期对象
*/
- (NSDateComponents *)currentDateCompoent;
/**
* 通过给定的NSDate得到日期对象
*
* @param date NSDate
*
* @return 日期对象
*/
- (NSDateComponents *)dateCompoentFromDate:(NSDate *)date;
/**
* 获取某年某月最大天数
*
* @param year 年份
* @param month 月份
*
* @return 天数
*/
- (NSInteger)maxDayForYear:(NSInteger *)year month:(NSInteger)month;
/**
* 通过制定的参数获取NSDate对象
*
* @param year 年
* @param month 月
* @param day 日
* @param hour 时
* @param monute 分
* @param second 秒
*
* @return NSDate对象
*/
- (NSDate *)dateFromYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day hour:(NSInteger)hour minute:(NSInteger)minute second:(NSInteger)second;
/**
* 通过components获取NSDate对象
*
* @param components NSDateComponents类型
*
* @return NSDate对象
*/
- (NSDate *)dateFromComponents:(NSDateComponents *)components;
/**
* 通过秒数来获取时间字