• iOS中的时间和日期


    获取北京时间(上海时间(^o^)/~)

    + (NSString *) getCurrentDateStr{

        NSDate * date = [NSDate date];
        
        NSDateFormatter * format = [[NSDateFormatter alloc] init];
        
        format.dateFormat = @"yyyy-MM-dd hh:mm:ss";
        NSTimeZone * tz = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
        format.timeZone = tz;
        NSString * dStr = [format stringFromDate:date];
        return dStr;
    }

    怎么说?时间和日期不是了不起的属性、了不起的功能,但是,我们决不能够因此就“冷落”它。

     一:怎么“搞到货”--如何获取时间、日期

    //-=-==当前时间------默认显示“0时区”时间
    NSDate * date1=[NSDate date];
    
    
    //=-=-时间戳
    //--1,该时间距1970年60秒
    NSDate * date2=[NSDatedateWithTimeIntervalSince1970:60];
    
    
    //--2,2000年
    NSDate * date3=[NSDate dateWithTimeIntervalSinceReferenceDate:60*60];
    
    
    //-=--=-=---现在开始"NSTimeInterval"之后的时间
    NSDate * date4=[NSDate dateWithTimeIntervalSinceNow:60*60];
    
    
    //-=-=-一个日期“date1”之后“timeinterval”秒的日期
    NSDate * date5=[NSDate dateWithTimeInterval:60sinceDate:date1];

    二: 得到日期和时间之后,格式可能“不是我想要的”,怎么办?

       日期的格式化类:NSFormatter,通过这个类可以得到你想要的格式,但是,注意在一定的基础上进行格式化:

    yyyy / yy :年份 2012 / 12

    MM         : 月份

    dd          : "日份"

    HH         :时

    mm        : 分

    ss           :秒

    a            :AM / PM (12小时格式时选用)

    zzz         : 时区

    EEEE      :星期几

      格式化之后的字符串还能够转换回原来的NSDate类型,但是,该字符串要遵守格式;(时间默认是0时区,但转换之后就是你的当前所在时区)

    /** 日期格式化类 :NSFormatter:NSObject */
    NSDateFormatter * formatter=[[NSDate Formatter alloc]  init];
    
    //-------=时间转换成字符串=--------
        formatter.dateFormat=@"yyyy举MM头dd望HH明mm月ss a王zzz王EEEE";
    NSString * dateStr=[formatter  stringFromDate:date1];
    
    NSLog(@"时间转成字符串:%@",dateStr);
    
    //-------=字符串转换成日期-----=====
    /** 字符串转过来的时间是“当前时区的时间” */
    NSString * string=@"2016举06头28望17明54月41 PM王GMT+8王Tuesday";
    
    NSDate * strDate=[formatter dateFromString:string];
    
    NSLog(@"字符串转时间:%@",strDate);

    三: 两个日期的早晚比较

    /** 比较日期 */
    BOOL flag=[date1 isEqualToDate:date2];
    
    if (flag==NO) {
    NSLog(@"低头思故乡");
        }
    
    //--=比较两个日期的早晚---=
    /** 返回较早的时间 */
    NSDate * date6=[date1 earlierDate:date2];
    
    NSLog(@"%@",date6);
    /** 返回晚的时间 */
    
    NSDate * date7=[date1 laterDate:date2];
    
        NSLog(@"%@",date7);
    }

      四: 日期的控件--UIDatePicker

      上图就是使用UIDatePicker选择闹钟的时间;

      如何使用之?

    UIDatePicker * picker=[[UIDatePickeralloc] initWithFrame:CGRectMake(0, 200,kWidth, kHeight)];
    
        picker.backgroundColor=[UIColor cyanColor];
    
        [picker addTarget:selfaction:@selector(changeAction:) forControlEvents:UIControlEventValueChanged];
    /** 确定显示的格式:时间、日期、时间+日期 */
        picker.datePickerMode=UIDatePickerModeDateAndTime;
    
        [self.view addSubview:picker];

     就是这么easy。

    UIDatePicker : UIControl  可以添加事件 (addTarget) 触发事件的方式:UIControlEventValueChanged

    #pragma mark - 值改变的监听事件
    - (void) changeAction:(UIDatePicker *) p{
    
    NSLog(@"%@",p.date);
    
    }

      意欲捕鸣蝉,忽然闭口立。

  • 相关阅读:
    JSP中自动刷新
    JSP点击计数器
    JSP页面重定向
    JSP处理日期
    Mybatis Generator生成数据库自带的中文注释
    GMT与Etc/GMT地区信息的时区转换
    《Redis入门指南》第2版 读书笔记
    ConcurrentHashMap
    应用服务器性能优化 之 消息队列(MQ:Message Queue)
    TabLayout让Fragment在ViewPager中的滑动切换更优雅
  • 原文地址:https://www.cnblogs.com/code-Officer/p/5746498.html
Copyright © 2020-2023  润新知