扩展NSDate类实现快捷使用 —— 昉

获取当前日期和时间:

+(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];

    return [NSString stringWithFormat:@"%@  %@",dateStr,timeStr];
}

将字符串转换为日期:

+ (NSDate * )NSStringToNSDate: (NSString * )string
{
    NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
    NSDate *date = [formatter dateFromString :string];
    return date;
}

计算两个日期之间相差多少天:

+(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 ];
    return diffDay;
}
时间: 2024-10-03 08:56:48

扩展NSDate类实现快捷使用 —— 昉的相关文章

NSDate 类的总结,全面基础

<span style="font-size:24px;"><span style="font-size:18px;">//1.创建日期对象 //创建的NSDate对象,获得的永远是0时区时间,如果要是求东八区时间,就加8个小时 NSDate *date = [NSDate date]; NSLog(@"%@",date); //创建明天此时的日期(时间间隔都是以秒为单位计算的) NSDate *tomorrow = [N

用户使用双屏扩展桌面类软件时,所遇到的疑难问题目录汇编

在使用行易软件双屏类软件时,在软件启动之前,往往需要进行一下前期设置工作.这些设置工作做正确了,软件启动后,其相应的展示功能才能真正的运行实施. 双屏软件包括:活动现场双屏管理系统-多线程抽奖版,婚庆现场管理系统-双屏版,PPT图片双屏抽奖系统,评委计分系统-双屏版,比赛打分展示双屏管理系统,知识竞赛现场管理系统-双屏PPT版等. 软件使用过程中,有时也会遇到一些问题.我们把这些常见的疑难问题,汇总成目录,供大家学习: 1. 双屏前期设置方法[又名:系统扩展桌面设置方法-双屏双显扩展桌面技术前期

OC关于NSDate类的方法和应用的总结!(全)

<span style="font-size:18px;">//1.创建日期对象 //创建的NSDate对象,获得的永远是0时区时间,如果要是求东八区时间,就加8个小时 NSDate *date = [NSDate date]; NSLog(@"%@",date); //创建明天此时的日期(时间间隔都是以秒为单位计算的) NSDate *tomorrow  = [NSDate dateWithTimeIntervalSinceNow:24*60*60];

扩展实体类的使用

需求: 上图中,如果我们想用实体类来实现的话,明显实现不了 原因很简单,要显示的数据包含的三张表(Student,Subject,Result)中的数据 我们无法单纯的用某个实体类来解决,这时我们就可以扩展实体类来解决这个问题 我们可添加ResultBusiness类继承Result实体类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threa

给jquery对象添加自定义方法和扩展jquery类

http://blog.sina.com.cn/s/blog_944b24ef0101epr5.html 一.给jQuery对象添加自定义方法   方法一.$.fn.xxx 方法二.jQuery.fn.extend({ xxx:function(){ alert($(this).val()); } });       方法一示例: $.fn.setCursorPosition = function(position){            if(this.lengh == 0) return

批量产生ssh2项目中hibernate带注解的pojo类的快捷方法

近几个月一直在忙于项目组的ios应用项目的开发,没有太多时间去研究web应用方面的问题了.刚好,昨天有网友问到如何批量产生hibernate带注解的pojo类的快捷方法,所谓批量就是指将当前数据库中所有数据表全部一次性生成带注解的pojo类,假设当前数据库friend有50个数据表,如果一个个的新建产生pojo类的话,那就是说要手工输入新建50个pojo类后,还有输入每个类带注解的代码,并且还要写好有关联的类之间的映射关系,虽然,从学习的角度来说,手工写是个不错的主意,但是从开发效率和开发成本来

ci高级用法篇之扩展核心类

在上一篇文章ci高级用法篇之创建自己的类库中,你是否觉得每个控制器的构造方法都去执行校验代码其实违背了编程规范中的DRY(do'nt repeat yourself)原则呢? 其实我们完全可以把校验的代码在父类的构造函数中.ci中控制器的父类是CI_Controller,现在我们来扩展这个父类. 在application/core目录下创建一个类文件,MY_Controller.php,内容如下: <?php class MY_Controller extends ci_Controller{

链式编程:泛型实现的扩展方法类

序言 本文分享一个用链式编程思想和泛型实现的扩展方法类,用于减少代码量,并提供更为清晰的业务逻辑代码表达. 概念 链式编程:将多个业务逻辑(方法)通过“.”(点号)串联起来的一种代码风格,形似链条,故称链式编程.核心思想在于每个方法均返回自身实例. 泛型:可以理解为是一个类的“篮子“”,只要符合约束的类均可以放置在该“篮子”里面. 扩展方法:向现有类添加方法. 根据泛型和扩展方法的特点,泛型+扩展方法实现了向所有符合约束的“类”添加方法,可减少重复代码量. (.Net语言提供了这么优雅的特性,刚

11.Laravel5学习笔记:扩展 Validator 类

简介 在 Laravel5 中,本身已经提供了丰富的验证规则供我们使用,但是天下应用奇葩多,做为程序员你会发现永远都有新的验证规则诞生,光是组合已经拯救不了你的项目了.这个时候就需要我们扩展 Validator 类,来使之帮助项目继续健康向前发展. 官方给了多种扩展 Validator 的方式,我独爱直接扩展该类,但是关于这一点,官文中又写的寥寥数语,确实新人有些无奈.这里详细说一下,如何扩展它. 扩展验证类 首先,扩展的收个问题是,我的扩展类应该放在哪儿才好呢?我的意见是:直接在app目录下,