• 时间戳的转换和星期转换


    当我们开发中经常遇到时间戳转换成时间,我们遇到的时间戳分两种类型.

    1.2233445673

    2.3456677890498

    这两种其实没什么区别,13为的后三位是精度值

    我们计算的时候可以去掉

    1,计算当前的时间

    NSDate *nowDate = [NSDate date];

    获取到当前时间:

    nowDate=====2015-07-18 03:16:50 +0000

     

    2,把当前时间转成"yyyy-MM-dd"

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

        [etimeFormate setDateFormat:@"yyyy-MM-dd"];

        NSString *etimeStr = [etimeFormate stringFromDate:[NSDate date]];

    3.时间戳转换成日期

    stime = @"1234567890123" ;

     

        NSTimeInterval time = ([strTime doubleValue]/1000);

        NSDate *date= [NSDate dateWithTimeIntervalSince1970:time];

     

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

        [formatter setDateFormat:@"yyyy-MM-dd"];

        NSString *CurrDate = [formatter stringFromDate:date];

     

    把同一时间戳转换成时间

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

        [twoFormat setDateFormat:@"HH:mm:ss"];

        NSString *timeDate = [twoFormat stringFromDate:date];

    4.计算几天前的日期

    //更改当前时间格式

        NSInteger dis = 30;//多少天前

        NSTimeInterval oneDay = 24*60*60*1;//一天的时间

        NSDate *nowDate = [NSDate date];

        NSDate *stimeDate = [nowDate initWithTimeIntervalSinceNow:-oneDay * dis];//用当前时间转换

        NSDateFormatter *stimeFormatter = [[NSDateFormatter alloc]init];//转换

        [stimeFormatter setDateFormat:@"yyyy-MM-dd"];

        NSString *stimeStr = [stimeFormatter stringFromDate:stimeDate]

    总结:

    我们经常用到的就是NSDateFormatter stringFromDate

     

    NSDate有几种方法

    - (instancetype)initWithTimeIntervalSinceNow:(NSTimeInterval)secs;//从现在算

    - (instancetype)initWithTimeIntervalSince1970:(NSTimeInterval)secs;//1970年开始

    - (instancetype)initWithTimeInterval:(NSTimeInterval)secsToBeAdded sinceDate:(NSDate *)date;

     

     

    星期的转换方式和天的转换

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

        NSDate *now;

        NSDateComponents *comps = [[NSDateComponents alloc] init];

        NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit |

        NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;

        now=[NSDate date];

        comps = [calendar components:unitFlags fromDate:now];

      NSInteger   week = [comps weekday];//特殊说明:week = 1 周日 =2 周一 =3周二 ...  7周六

    //下面的大家打印一下就能看明白,程序员要动手,不能光看

     NSInteger   month = [comps month];

     NSInteger   day = [comps day];

      NSInteger   hour = [comps hour];

      NSInteger  min = [comps minute];

    NSInteger    sec = [comps second];

     

     

     

     

     

  • 相关阅读:
    整数数组中最大子数组的和的问题(续)
    整数数组中最大子数组的和的问题
    PHP开发环境(Apache+mysql+PHPstorm+php)的搭建
    echart 库 初始
    2.15 学习总结 之 天气预报APP volley(HTTP库)之StringRequest
    2.14 学习总结 之 序列化
    2.13 阶段实战 使用layui重构选课系统
    2.12 学习总结 之 表单校验插件validate
    jsp连接数据库的乱码问题 servlet请求参数编码处理get post
    Rocket
  • 原文地址:https://www.cnblogs.com/runningsoul/p/4656452.html
Copyright © 2020-2023  润新知