美文网首页
iOS时间戳与时间的一些整合

iOS时间戳与时间的一些整合

作者: 放肆的洒脱 | 来源:发表于2016-12-28 14:26 被阅读31次
/**
 *  时间戳转化为指定格式的时间
 *
 *  @param timeStamp 时间戳如@"-28800"
 *  @param formate   如 yyyy-MM-dd HH-mm-ss
 *
 *  @return 如1970-01-01
 */
+ (NSString *)timeWithTimeStamp:(NSString *)timeStamp andtimeFormate:(NSString *)formate
{
    NSTimeInterval time= [timeStamp longLongValue];
    NSDate *detaildate = [NSDate dateWithTimeIntervalSince1970:time];
    NSDateFormatter *dateFormate = [[NSDateFormatter alloc]init];
    dateFormate.dateFormat = formate;
    dateFormate.timeZone = [NSTimeZone systemTimeZone];
    [dateFormate setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8 * 3600]];
    NSString *str = [dateFormate stringFromDate:detaildate];
    return str;
}
/**
 *  时间戳转化为星期
 *
 *  @param timeStamp 时间戳如@"-28800"
 *
 *  @return 如星期一
 */
+ (NSString *)getWeekDayFordate:(long long)data
{
    NSArray *weekday = [NSArray arrayWithObjects: [NSNull null], @"星期日", @"星期一", @"星期二", @"星期三", @"星期四", @"星期五", @"星期六", nil];
    
    NSDate *newDate = [NSDate dateWithTimeIntervalSince1970:(data / 1000)];
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
    NSDateComponents *components = [calendar components:NSCalendarUnitWeekday fromDate:newDate];
    
    NSString *weekStr = [weekday objectAtIndex:components.weekday];
    return weekStr;
}
+ (NSString *)showCurrentTime
{
    //获取当前时间
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
    NSString *currentTime = [formatter stringFromDate:[NSDate date]];
    return currentTime;
}
///  传入的时间与当前时间的时间差
+ (NSArray *)intervalSinceNow:(NSString *)theDate
{
    NSArray *timeArray=[theDate componentsSeparatedByString:@"."];
    theDate=[timeArray objectAtIndex:0];
    
    NSDateFormatter *date=[[NSDateFormatter alloc] init];
    [date setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
    [date setDateFormat:@"yyyy-MM-dd HH"];
//    [date setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
    NSDate *d = [date dateFromString:theDate];
    NSTimeInterval late = [d timeIntervalSince1970];
    
    NSDate *dat = [NSDate date];
    NSTimeZone *zone = [NSTimeZone systemTimeZone];
    NSInteger interval = [zone secondsFromGMTForDate: dat];
    NSDate *localeDate = [dat dateByAddingTimeInterval:interval];
    NSTimeInterval now = [localeDate timeIntervalSince1970];
    
    NSString *timeString = @"";
    NSString *hourString = @"";
    NSMutableArray *mArr = [[NSMutableArray alloc]init];
    NSTimeInterval cha = late - now;
    if (cha / 3600 > 1 && cha / 86400 < 1) {
        hourString = [NSString stringWithFormat:@"%f", cha / 3600];
//        hourString = [hourString substringToIndex:timeString.length - 7];
       
        NSArray *array = [hourString componentsSeparatedByString:@"."];
        hourString = array[0];
        
//        timeString=[NSString stringWithFormat:@"剩余%@小时", timeString];
        
        timeString = [NSString stringWithFormat:@"%@", @"0"];
    }
    if (cha / 86400 > 1)
    {
        NSString *string = [NSString stringWithFormat:@"%f", cha / 86400];
        NSArray *array = [string componentsSeparatedByString:@"."];
        timeString = array[0];
//        timeString = [NSString stringWithFormat:@"剩余%@天", timeString];
        NSString *hourStr;
        if (array[1]) {
           hourStr = array[1];
        }else{
            hourStr = @"0";
        }
        NSInteger hour =(NSInteger)([[NSString stringWithFormat:@"%@%@%@",@"0",@".",hourStr] doubleValue] * 24);
        hourString = [NSString stringWithFormat:@"%ld",(long)hour];
    }
    [mArr addObject:timeString];
    [mArr addObject:hourString];
    return [mArr copy];
}

相关文章

  • iOS时间戳与时间的一些整合

  • iOS 时间 时间戳

    时间在线转化:http://tool.chinaz.com/Tools/unixtime.aspx 1.日期格式转...

  • iOS- 时间和时间戳及与字符串转化

    iOS- 时间和时间戳及与字符串转化 1.获取当前时间 2.获取当前时间戳 3.时间戳转时间 4.字符串转时间戳 ...

  • iOS 获取时间字符串与时间戳

    获取当前时间 获取当前时间戳 时间戳转时间 字符串转时间戳 注意:iOS 返回的时间戳单位是秒。

  • iOS中时间与时间戳的转化

    //获取当前系统时间的时间戳 #pragma mark - 获取当前时间的 时间戳 +(NSInteger)get...

  • iOS 时间戳

    引言 iOS开发过程中会遇到很多时间转的问题。例如:当服务器端给我们一个时间戳的时候,我们需要把它转化成具体的时间...

  • iOS 时间戳

    背景: 在App的开发中,会遇到一些要计算时间差的问题,比如:在友盟统计的列子里面,要统计一个页面从创建到销毁的时...

  • iOS 时间戳

    NSDate 1.NSDate对象用来表示一个具体的时间点; 2.NSDate是一个类簇。我们所使用的NSDate...

  • 时间与时间戳

    //.h //时间转date + (NSDate *)dataWithTime:(NSString *)time;...

  • 时间与时间戳

    //获取当前时间 }//2.获取当前时间戳 //3.把时间戳转化为时间 }

网友评论

      本文标题:iOS时间戳与时间的一些整合

      本文链接:https://www.haomeiwen.com/subject/lhuyvttx.html