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


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

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

     

     

     

     

     

  • 相关阅读:
    POJ 1330 Nearest Common Ancestors(LCA Tarjan算法)
    LCA 最近公共祖先 (模板)
    线段树,最大值查询位置
    带权并查集
    转负二进制
    UVA 11437 Triangle Fun
    UVA 11488 Hyper Prefix Sets (字典树)
    UVALive 3295 Counting Triangles
    POJ 2752 Seek the Name, Seek the Fame (KMP)
    UVA 11584 Partitioning by Palindromes (字符串区间dp)
  • 原文地址:https://www.cnblogs.com/runningsoul/p/4656452.html
Copyright © 2020-2023  润新知