• NSString *str=@"1368082020...//时间戳 NSTimeInterval time=[str doubleValue]+28800;//因为时差问题要加8小时 == 28800 sec NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time]; NSLog(@"date:

     NSString *str=@"1368082020";//时间戳  
        NSTimeInterval time=[str doubleValue]+28800;//因为时差问题要加8小时 == 28800 sec  
        NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];  
        NSLog(@"date:%@",[detaildate description]);  
    //实例化一个NSDateFormatter对象  
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];  
        //设定时间格式,这里可以设置成自己需要的格式  
        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];  
       
        NSString *currentDateStr = [dateFormatter stringFromDate: detaildate];  

    13位转10位方法(其实除以1000即可)

    iOS项目中会遇到时间转的问题,当从服务端传回时间到客户端,而这个时间确是时间戳,并且是13位,如果是普通的字符串比如“2015-09-24 19:00:000” 这样转化是比较简单,但是时间戳不是这样的,ios生成的时间戳是10位,所以说需要进行转换。以下有几种方式:

    第一种:

        NSString * timeStampString = @"1423189125874";  
        NSDate *date = [NSDate dateWithTimeIntervalSince1970:[timeStampString doubleValue] / 1000];  
        NSLog(@"%f", ([date timeIntervalSince1970] * 1000.0));  

    第二种:

        NSString * timeStampString = @"1423189125874";  
        NSTimeInterval _interval=[[timeStampString substringToIndex:10] doubleValue];  
        NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];  
        NSLog(@"%@", date);  

    格式化时间:

        NSString * timeStampString = @"1423189125874";  
        NSTimeInterval _interval=[timeStampString doubleValue] / 1000.0;  
        NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];  
        NSDateFormatter *objDateformat = [[NSDateFormatter alloc] init];  
        [objDateformat setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];  
        NSLog(@"%@", [objDateformat stringFromDate: date]);  


    展开全文
  • ios时间戳13转换

    2015-09-24 14:06:12
    当从服务端传回时间到客户端,而这个时间确是时间戳,并且是13,如果是普通的字符串比如“2015-09-24 19:00:000” 这样转化是比较简单,但是时间戳不是这样的,ios生成的时间戳10位,所以说需要进行转换。...

    IOS项目中会遇到时间转的问题,当从服务端传回时间到客户端,而这个时间确是时间戳,并且是13位,如果是普通的字符串比如“2015-09-24 19:00:000” 这样转化是比较简单,但是时间戳不是这样的,ios生成的时间戳是10位,所以说需要进行转换。以下有几种方式:

    第一种:

        NSString * timeStampString = @"1423189125874";
        NSDate *date = [NSDate dateWithTimeIntervalSince1970:[timeStampString doubleValue] / 1000];
        NSLog(@"%f", ([date timeIntervalSince1970] * 1000.0));


    第二种:

       NSString * timeStampString = @"1423189125874";
       NSTimeInterval _interval=[[timeStampString substringToIndex:10] doubleValue];
       NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
       NSLog(@"%@", date);


    格式化时间:

       NSString * timeStampString = @"1423189125874";
       NSTimeInterval _interval=[timeStampString doubleValue] / 1000.0;
       NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
       NSDateFormatter *objDateformat = [[NSDateFormatter alloc] init];
       [objDateformat setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];
       NSLog(@"%@", [objDateformat stringFromDate: date]);

    展开全文
  • 语言是java,将当前时间(new Date())set进bean中,然后使用fastjson将bean转换成json,存放在redis中,但问题就来了,首先时间yyyy-mm-dd hh:mm:ss格式转换成json会自动转成时间戳,13的,而ios端只能解析10wei的...

    最近遇到一个比较头疼的问题,语言是java,将当前时间(new Date())set进bean中,然后使用fastjson将bean转换成json,存放在redis中,但问题就来了,首先时间yyyy-mm-dd hh:mm:ss格式转换成json会自动转成时间戳,13位的,而ios端只能解析10wei的时间戳。
    问题1:为什么会生成13位的时间戳,13位的时间戳和10时间戳分别是怎么来的
    经过百度得知,原来java的date默认精度是毫秒,也就是说生成的时间戳就是13位的,而像c++或者php生成的时间戳默认就是10位的,因为其精度是秒。
    问题2:13位时间戳如何转换成10位时间戳
    本来以为java中有设置可以修改其时间精度,后来在百度上没有找到,就只能采用其它方法来转化,这里提供两种方式来转换。
    第一种:通过substring方法,将13位的时间戳最后三位数字截取
    第二种:将13位时间戳除以1000取整。
    ps:个人觉得这两种方法好low,目前没有更好的方法

    另外提供一段时间戳转时间的代码:

    /**
     * 时间戳转时间(10位时间戳)
     * @param time
     * @return
     */
    public static String timestampToDate(long time) {
        String dateTime;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(FORMAT_SEC_FULL);
        long timeLong = Long.valueOf(time);
        dateTime = simpleDateFormat.format(new Date(timeLong * 1000L));
        return dateTime;
    }
    展开全文
  • iOS时间戳的处理

    2016-06-29 14:10:58
    通常我们从后台获取到的时间一般都为时间戳,有得为13的,而有得则为10位,这两者在处理上有点不同。 1.时间戳为13的处理方法(13的需要除以1000) NSDateFormatter * formatter = [[NSDateFormatter alloc]init]...

    通常我们从后台获取到的时间一般都为时间戳,有得为13位的,而有得则为10位,这两者在处理上有点不同。

    1.时间戳为13位的处理方法(13位的需要除以1000)

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

    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//时间的显示格式

    NSTimeInterval timeInterval = [@"1336354851619" doubleValue];

    NSDate * date = [NSDate dateWithTimeIntervalSince1970:timeInterval / 1000]; //通过一个从1970年流逝的秒数创建一个日期对象

    NSString * dateString = [formatter stringFromDate:date];//把日期转成字符串

    NSLog(@"%@",dateString);

    输出结果为:2012-05-07 09:40:51

    2.时间戳为10位的处理方法

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

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

     NSTimeInterval timeInterval = [@"1336354851" doubleValue];

     NSDate * date = [NSDate dateWithTimeIntervalSince1970:timeInterval];

     NSString * dateString = [formatter stringFromDate:date];

     NSLog(@"%@",dateString);

    输出结果为:2012-05-07 09:40:51


    //比较两个时间的差值

    - (void)testDate:(NSString *)create_time
    {
        //日期格式化类
        NSDateFormatter * fmt = [[NSDateFormatter alloc]init];
        fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss";
        //当前时间
        NSDate * now = [NSDate date];
        //发帖时间
        NSDate * create = [fmt dateFromString:create_time];
        //第一种方法
    //    NSTimeInterval delta = [now timeIntervalSinceDate:create];
    //    ZCLog(@"%f",delta);
        
        //第二种
        //日历
        NSCalendar * calendar = [NSCalendar currentCalendar];
        
        //比较时间
        NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
        NSDateComponents * cmps = [calendar components:unit fromDate:create toDate:now options:0];
        
        //获取NSDate的每一元素
    //    NSInteger year = [calendar component:NSCalendarUnitYear fromDate:now];
    //    NSInteger month = [calendar component:NSCalendarUnitMonth fromDate:now];
    //    NSInteger day = [calendar component:NSCalendarUnitDay fromDate:now];
    //    NSDateComponents * cmps = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:now];
    //    ZCLog(@"%zd %zd %zd",cmps.year, cmps.month, cmps.day);

    }



    展开全文
  • java时间戳 10位和13

    2019-05-15 18:09:51
    语言是java,将当前时间(new Date())set进bean中,然后使用fastjson将bean转换成json,存放在redis中,但问题就来了,首先时间yyyy-mm-dd hh:mm:ss格式转换成json会自动转成时间戳,13的,而ios端只能解析10wei的...

    最近遇到一个比较头疼的问题,语言是java,将当前时间(new Date())set进bean中,然后使用fastjson将bean转换成json,存放在redis中,但问题就来了,首先时间yyyy-mm-dd hh:mm:ss格式转换成json会自动转成时间戳,13位的,而ios端只能解析10wei的时间戳。 
    问题1:为什么会生成13位的时间戳,13位的时间戳和10时间戳分别是怎么来的 
    经过百度得知,原来java的date默认精度是毫秒,也就是说生成的时间戳就是13位的,而像c++或者php生成的时间戳默认就是10位的,因为其精度是秒。 
    问题2:13位时间戳如何转换成10位时间戳 
    本来以为java中有设置可以修改其时间精度,后来在百度上没有找到,就只能采用其它方法来转化,这里提供两种方式来转换。 
    第一种:通过substring方法,将13位的时间戳最后三位数字截取 
    第二种:将13位时间戳除以1000取整。 
    ps:个人觉得这两种方法好low,目前没有更好的方法

    另外提供一段时间戳转时间的代码:

    /**
     * 时间戳转时间(10位时间戳)
     * @param time
     * @return
     */
    public static String timestampToDate(long time) {
        String dateTime;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(FORMAT_SEC_FULL);
        long timeLong = Long.valueOf(time);
        dateTime = simpleDateFormat.format(new Date(timeLong * 1000L));
        return dateTime;
    }

     

    展开全文
  • IOS中要这样写new Date(“2016/05/19 08:00”),该写法在安卓中也是支持的。另外,安卓中也可以这样写new Date(“2016-05-19 08:00”)。
  • NSDate *senddate = [NSDatedate]; ... NSLog(@"date1时间戳 = %ld",time(NULL));  NSString *date2 = [NSStringstringWithFormat:@"%ld", (long)[senddatetimeIntervalSince1970]];  
  • NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  [formatter setDateFormat:@"yyyy年MM月dd日 HH:mm"];  NSDate *date = [NSDate ...dateWithTimeIntervalSince1970:[@"1398680194000" ...
  • iOS 时间戳转为时间

    2018-03-13 14:32:43
    //时间戳:1520915618- (NSString *)getTimeFromTimesTamp:(NSString *)timeStr{ double time = [timeStr doubleValue]; NSDate *myDate = [NSDate dateWithTimeIntervalSince1970:time]; NSDateFormatter *for.....
  • //一、将当前事件转化成时间戳 NSDate *datenow = [NSDate date]; NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[datenow timeIntervalSince1970]]; UInt32 timeStamp = [timeSp intValue];
  • 就是new Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解决方案如下 1.替换”-“为”/“ var thisData = r_that.data.thisDate.replace(/-/g, '/'); var date = new Date...
  • 第一种:  NSString * timeStampString = @"1423189125874";  NSDate *date = [NSDate dateWithTimeIntervalSince1970:[timeStampString doubleValue] / 1000];  NSLog(@"%f", ([date timeIntervalSince1970
  • // 获取当前系统时间戳 NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0]; NSTimeInterval a=[dat timeIntervalSince1970]; NSString *timeString = [NSString stringWithFormat:@"%0.0f", a];//转...
  • 大家有没有遇到过日期的兼容,使用平时的new Date得到的日期类型在iphone是获取不到的 我们需要将获取到的日期转换格式 var endtime = order_endtime;//order_endtime是我获取的一个日期,格式为:‘2018-07-21’...
  • iOS-获取时间戳

    2019-01-30 01:00:33
    时间戳(timestamp)通常是一个数字序列,唯一地标识某一刻的时间。 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。 -(NSString *) ...
  • 以下为自己开发过程中遇到的时间戳转换成该类型字符串和其他时间戳与日期转换的方法封装: #define mark - 时间 /** * 时间戳转成字符串 * * @param timestamp 时间戳 * * @return 格式化后的字
  • 将已知年月日转时间戳,如果以以下代码转,ios会报错,但安卓是ok的: let BirthDate = new Date(this.birthYear + '-' + this.birthMonth + '-' + this.birthDay); ch.birthday = BirthDate.getTime() / 1000; ...
  • iOS获取时间戳

    2016-04-22 14:34:14
    //获取查询数据某段时间范围的时间戳 // NSString* timeStr = @"2016-04-06 16:17:55"; // NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // [formatter setDateStyle:...
  • 1.时间转换成时间戳 从服务器上面获取到的时间戳 (有时是NSString类型的,也有是long类型的。需要转换) //时间戳转化成时间,string代表时间戳 NSString *str = string; //时间 NSTimeInterval time = ...
1 2 3 4 5 ... 20
收藏数 12,121
精华内容 4,848