#define kDEFAULT_DATE_TIME_FORMAT (@"yyyy-MM-dd HH:mm:ss")

//获取当前日期,时间
+(NSDate *)getCurrentDate{
    NSDate *now = [NSDate date];
    return now;
}

//将日期转换为字符串(日期,时间)
+(NSString *)getDateStringFromDate:(NSDate *)date{
    NSInteger location = 0;
    NSString *timeStr = @"";
    NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
    [formatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
    [formatter setDateFormat:@"HH:mm:a"];
    NSString *ampm = [[[formatter stringFromDate:date] componentsSeparatedByString:@":"] objectAtIndex:2];
    timeStr = [formatter stringFromDate:date];
    NSRange range = [timeStr rangeOfString:[NSString stringWithFormat:@":%@",ampm]];
    location = range.location;
    NSString *string = [timeStr substringToIndex:location];
    timeStr = [NSString stringWithFormat:@"%@ %@",ampm,string];
    
    
    NSString *dateStr = @"";
    NSDateFormatter *Dformatter = [[[NSDateFormatter alloc] init] autorelease];
    [Dformatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
    [Dformatter setDateFormat:@"yyyy-MM-dd"];    
    dateStr = [Dformatter stringFromDate:date];
//    NSLog(@"%@", [NSString stringWithFormat:@"%@  %@",dateStr,timeStr]);
    return [NSString stringWithFormat:@"%@  %@",dateStr,timeStr];
}

//计算两个日期之间的差距,过了多少天。。
+(NSInteger)getDateToDateDays:(NSDate *)date withSaveDate:(NSDate *)saveDate{
    NSCalendar* chineseClendar = [ [ NSCalendar alloc ] initWithCalendarIdentifier:NSGregorianCalendar ];  
    NSUInteger unitFlags =  NSHourCalendarUnit | NSMinuteCalendarUnit |   
    NSSecondCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit;  
    NSDateComponents *cps = [ chineseClendar components:unitFlags fromDate:date  toDate:saveDate  options:0];  
    NSInteger diffDay   = [ cps day ];  
    [chineseClendar release]; 
    return diffDay;
}

例:NSDate *lastDate = [self getSaveDate];//saveDate通过将NSDate转换为NSString来保存
    currentDate = [NSDate date];
    NSInteger day = [DateHelper getDateToDateDays:currentDate withSaveDate: lastDate];

//日期转字符串
+ (NSString * )NSDateToNSString: (NSDate * )date
{    
    NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat: kDEFAULT_DATE_TIME_FORMAT];
    NSString *dateString = [formatter stringFromDate:date];
    [formatter release];
    return dateString;
}

//字符串转日期
+ (NSDate * )NSStringToNSDate: (NSString * )string
{    
    NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat: kDEFAULT_DATE_TIME_FORMAT];
    NSDate *date = [formatter dateFromString :string];
    [formatter release];
    return date;
}

//1970年到现在的秒数转换成时间显示

- (NSString *)bySecondGetDate:(NSString *)second{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];
    NSString *dateLoca = [NSString stringWithFormat:@"%@",second];
    NSTimeInterval time=[dateLoca doubleValue];
    NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];
    NSString *timestr = [formatter stringFromDate:detaildate];
    return timestr;
}

转载于:https://www.cnblogs.com/wcLT/p/4129435.html

objectC时间用法相关推荐

  1. 数据库下午怎么插入_数据库中日期时间用法

    如有你有帮助,请购买下载,谢谢! 1 页 转一篇 oracle 日期时间用法的文章,十分有用! ---------------------------------------------------- ...

  2. oracle时间用法

    oracle中24小时的表示方法,贴出来与大家共享! 24小时表示方法:to_date('2004-06-30 23:59:59','yyyy-mm-dd hh24:mi:ss') 12小时表示方法: ...

  3. mysql group_concat时间用法

    第一张表的worksId在第二张表中对应多条数据,需要将每条数据的日期作为结果查询出来,一个作为"初审时间",另一个作为"复审时间": 可以使用group_co ...

  4. mysql concat 日期_mysql group_concat时间用法

    第一张表的worksId在第二张表中对应多条数据,需要将每条数据的日期作为结果查询出来,一个作为"初审时间",另一个作为"复审时间": 可以使用group_co ...

  5. 【Java】Java8 LocalDate日期时间用法总结

    public class DateUtils {/**显示年月日时分秒,例如 2015-08-11 09:51:53.*/public static final String DATETIME_PAT ...

  6. Python 日期和时间用法超强总结

    时间无疑是生活各个方面中最关键的因素之一,因此,记录和跟踪时间变得非常重要.在 Python 中,可以通过其内置库跟踪日期和时间.今天我们来介绍关于 Python 中的日期和时间,一起来了解如何使用t ...

  7. Object-C时间与字符串的转化 因多语言设置中造成返回Nil的解决方法

    [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]]; 原因:为dateFo ...

  8. php 时间加法函数_PHP中时间加减函数strtotime用法分析

    本文实例讲述了PHP中时间加减函数strtotime用法.分享给大家供大家参考,具体如下: 时间加减 //获取本地 提取年份+1 $date=date("Y-m-d",mktime ...

  9. php根据时间搜索,yii2实现根据时间搜索的方法

    本文实例讲述了yii2实现根据时间搜索的方法.分享给大家供大家参考,具体如下: // date to search $date = DateTime::createFromFormat('m/d/Y' ...

最新文章

  1. 我的世界javamod怎么装_易拉罐装的葡萄酒你们能接受吗?
  2. 深度学习入门教程UFLDL学习实验笔记一:稀疏自编码器
  3. 数据结构与算法笔记(一)—— 引入概念、时间复杂度
  4. 谷歌称远程办公影响工作效率,2021年回归线下办公
  5. Unity Bug解决分析思路
  6. script脚本中写不写$(document).ready(function() {});的差别
  7. 获取Nist的美国官方标准时间的解决办法
  8. numpy获得ndarray的byte数 内存中的大小
  9. win10设置HTML桌面背景,win10系统怎么更换桌面壁纸?windows10更换桌面壁纸的方法...
  10. Share Creators公开课:游戏美术如何提升出海游戏转化
  11. Elasticsearch 地理位置查询
  12. 湖南大学ACM——10015.self-numbers
  13. 【逗老师的无线电】宝峰神机刷OpenGD77摇身变为DMR大热点
  14. c++等边三角形(DFS实例)
  15. 点微同城系统整站源码 带pc端与小程序端+49款插件
  16. 第四行记录到第12韩记录
  17. 【《Real-Time Rendering 3rd》 提炼总结】(一) 全书知识点总览
  18. 在html文件中以下使用绝对路径表示的是,JavaWeb——HTML5常用知识点
  19. 多任务学习(Multi-task Learning)方法总结
  20. Java基础——程序员之家七月份Java基础总结

热门文章

  1. php 数组重新打乱_PHP 将数组打乱 shuffle 函数
  2. idea 亮度 调整_工业设计 | 2019优秀产品设计——IDEA金奖作品
  3. 牛客网软件测试机考题库,为什么编程题本地测试通过,可是提交时却总报错。求大神们指点。...
  4. 求生之路2正版服务器ip,求生之路2怎么看ip地址
  5. java卡 应用_一种实现多发行方的多应用Java卡的方法与流程
  6. 传输分析_医院智能物流传输系统运营管理和效益分析
  7. JAVA蓝桥杯: 01字串
  8. 单片机ADC采样算法----中位值平均滤波法
  9. CentOS 7在虚拟机上安装之后没有桌面问题
  10. NYOJ-超级台阶(dp)