zoukankan      html  css  js  c++  java
  • 时间戳 时间 相互转换

    一、时间戳 -> 时间

     NSDate *date = [NSDate dateWithTimeIntervalSince1970:myOrder.orderTimeStart];

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

            [formatter setDateFormat:@"MM月dd日 hh:mm"]; //hh:12小时制, HH:24小时制 EEE:周几或者Sun形式 EEEE:星期几或Sunday形式 (模拟器显示英文,真机显示中文, 可能是根据系统语言而定);

            NSString *string = [formatter stringFromDate:date];

    二、当前时间 ->时间戳

    NSDate *date = [NSDate date];   //返回0时区,当前时间

    NSLog(@"%.0f", [date timeIntervalSince1970] * 1000);

    或者

     NSDate *date = [NSDate dateWithTimeIntervalSinceNow:0]; //0时区当前时间

        NSTimeInterval tim = [date timeIntervalSince1970];

        NSString *time = [NSString stringWithFormat:@"%.0f", tim * 1000];

    三、日期 ->时间戳

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

        [comp setYear:2016];

        [comp setMonth:7];

        [comp setDay:13];

        NSDate *da = [[NSCalendar currentCalendar] dateFromComponents:comp];

        NSTimeInterval time = [da timeIntervalSince1970] * 1000;

     

    四、设置某个时间点, 及获取该时间点之后一段时间的时间点        

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

    // 定义一个NSDateComponents对象,设置一个时间点

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

    [dateComponentsForDate setDay:6];

    [dateComponentsForDate setMonth:5];

    [dateComponentsForDate setYear:2004];

    // 根据设置的dateComponentsForDate获取历法中与之对应的时间点

    // 这里的时分秒会使用NSDateComponents中规定的默认数值,一般为0或1。

    NSDate *dateFromDateComponentsForDate = [greCalendar dateFromComponents:dc];

    // 定义一个NSDateComponents对象,设置一个时间段

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

    [dateComponentsForDate setDay:6];

    // 在当前历法下,获取6天后的时间点

    NSDate *dateFromDateComponentsAsTimeQantum = [greCalendar dateByAddingComponents:dateComponentsAsTimeQantum toDate:[NSDate date] options:0];

     

    五、获取时间差

    // 先定义一个遵循某个历法的日历对象

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

    // 根据两个时间点,定义NSDateComponents对象,从而获取这两个时间点的时差

    NSDateComponents *dateComponents = [greCalendar components:NSYearCalendarUnit fromDate:[NSDate dateWithTimeIntervalSince1970:0] toDate:[NSDate date] options:0];

    NSLog(@"number of years:%i", dateComponents.year);

     

  • 相关阅读:
    Linux系统中常用操作命令
    CentOS 7 巨大变动之 systemd 取代 SysV的Init
    不可不知的安卓屏幕知识
    Gradle-jar-aar
    【Android】开源项目汇总
    Android中关于系统Dialog无法全屏的问题(dialog样式)
    Android LockScreen (锁屏弹窗)
    linux 权限设置
    android 多语言(在APP里面内切换语言)
    host更新
  • 原文地址:https://www.cnblogs.com/lion-witcher/p/5667878.html
Copyright © 2011-2022 走看看