iOS 玩转时间(NSDate)(持续更新)

简友们,这篇文章主要是操控NSDate的一些方法 ,欢迎大家一起合力把这篇文章扩展的更完美,我的QQ是479309088,欢迎加Q交流!喜欢的点个赞!谢谢!


01.比较当前时间和自定义的时间:两个时间差:天-时-分

- (void)getTimeDistance {

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];//设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制

NSTimeZone* timeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];

[formatter setTimeZone:timeZone];

/**

*  当前时间

*/

NSDate *datenow = [NSDate date];

/**

*自定义一个字符串的时间

*/

NSString *datestring = @"2016-05-08 18:33:00";

NSDateFormatter * dm = [[NSDateFormatter alloc]init];

[dm setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

NSDate * newdate = [dm dateFromString:datestring];

/**

* bb: 计算出当前时间和自定义的时间的时间差的结果

*/

double dd = [datenow timeIntervalSince1970] - [newdate timeIntervalSince1970];

double ss = 1;

NSString *timeString = nil;

if (dd/3600 < ss) {

timeString = [NSString stringWithFormat:@"%.0f", dd/60];

timeString = [NSString stringWithFormat:@"%@分钟前", timeString];

}

if (dd/3600 > ss && dd/86400 < ss) {

timeString = [NSString stringWithFormat:@"%.0f", dd/3600];

timeString = [NSString stringWithFormat:@"%@小时前", timeString];

}

if (dd/86400 > ss) {

timeString = [NSString stringWithFormat:@"%.0f", dd/86400];

timeString = [NSString stringWithFormat:@"%@天前", timeString];

}

NSLog(@"=====%@",timeString);

}

02. 获取当前月份的天数(传个时间进去,格式你自己定义如:@"2016-06-01 00:00")

- (NSInteger)getNumberOfDaysInMonth:(NSString *)dateString{

NSCalendar * calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSDateFormatter *fd = [[NSDateFormatter alloc]init];

[fd setDateFormat:@"YYYY-MM-dd HH:mm"];

[fd setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];

// 这个日期就是传进来的日期转换成时间

NSDate *currentDate = [fd dateFromString:dateString];

NSRange range = [calendar rangeOfUnit:NSDayCalendarUnit

inUnit: NSMonthCalendarUnit

forDate:currentDate];

return range.length;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 做App避免不了要和时间打交道,关于时间的处理,里面有不少门道,远不是一行API调用,获取当前系统时间这么简单。我...
    沧海的风阅读 773评论 0 1
  • 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大...
    真巧了_嘿阅读 2,818评论 0 7
  • 多年以后,我想我会在这么一个地方,一个周围种满花儿的有些老旧的房子里,不规矩地摆放着几张有些痕迹的木桌,颜色没有...
    _凉言阅读 341评论 0 0
  • 就在刚才,我发现自己的相册里足足有三百张美食照片。平安夜,我想第一个分享的是这张《妈妈,我喂你吧》。小侄女勺一勺百...
    以辰以露阅读 232评论 0 0