美文网首页
字符串转换

字符串转换

作者: i爱吃土豆的猫 | 来源:发表于2020-02-29 21:33 被阅读0次
    1.30天的时间当前系统的时间
    + (NSString *)getThirtyDaysTimeStr{
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"yyyyMMddHHmmss"];
        NSDate *datenow = [NSDate date];
        NSString *nowtimeStr = [formatter stringFromDate:datenow];
    
        int days = 30;// n天后的天数
        NSDate *appointDate;    // 指定日期声明
        NSTimeInterval oneDay = 24 * 60 * 60;  // 一天一共有多少秒
        //days = 10;
        //oneDay = 1;
        appointDate = [datenow initWithTimeIntervalSinceNow: oneDay * days];
        NSString *later30DayTimeStr = [formatter stringFromDate:appointDate];
        [formatter setDateFormat:@"yyyyMMddHHmmss"];
        NSLog(@"30天的时间当前系统的时间:%@",later30DayTimeStr);
        return later30DayTimeStr;
    }
    
    2.当前系统的时间
    + (NSString *)getCurrentTimeStr{
       NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
       [formatter setDateFormat:@"yyyyMMddHHmmss"];
       NSDate *datenow = [NSDate date];
       NSString *nowtimeStr = [formatter stringFromDate:datenow];
       //NSLog(@"首页当前系统的时间:%@",nowtimeStr);
       return nowtimeStr;
    }
    

    //当天

    + (NSString *)getCurrentDaySomeDayLaterYMD:(NSInteger )daysNum{
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"yyyyMMdd"];
        NSDate *datenow = [NSDate date];
        NSString *nowtimeStr = [formatter stringFromDate:datenow];
        NSInteger days = daysNum;// n天后的天数
        NSDate *appointDate;    // 指定日期声明
       NSTimeInterval oneDay = 24 * 60 * 60;  // 一天一共有多少秒
        //    days = 10;
       //    oneDay = 1;
       appointDate = [datenow initWithTimeIntervalSinceNow: oneDay * days];
        NSString *laterOneDayTimeStr = [formatter stringFromDate:appointDate];
       [formatter setDateFormat:@"yyyyMMdd"];
       //    NSLog(@"一天后的时间是: %@",laterOneDayTimeStr);
        return laterOneDayTimeStr;
    }
    

    //当天

    + (NSString *)getCurrentDayYMD{   
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"yyyyMMdd"];
        NSDate *datenow = [NSDate date];
        NSString *nowtimeStr = [formatter stringFromDate:datenow];
     //   NSLog(@"首次弹框的的时间是: %@",nowtimeStr);
    
     //    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
     //    [dateFormatter setDateFormat:@"yyyyMMdd"];
     //    // 得到当前时间(世界标准时间 UTC/GMT)
     //    NSDate *nowDate = [NSDate date];
     //    // 设置系统时区为本地时区
     //    NSTimeZone *zone = [NSTimeZone systemTimeZone];
     //    // 计算本地时区与 GMT 时区的时间差
     //    NSInteger interval = [zone secondsFromGMT];
     //    // 在 GMT 时间基础上追加时间差值,得到本地时间
     //    nowDate = [nowDate dateByAddingTimeInterval:interval];
     //    NSString *nowtimeStr = [dateFormatter stringFromDate:nowDate];
     //    NSLog(@"现在时间%@",nowtimeStr); 
        return nowtimeStr;
     }
    

    //当月

    + (NSString *)getCurrentDayStrFromStr:(NSString *)monthStr{
    
           NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
           [dateFormatter setDateFormat:@"yyyyMMdd"];
           NSDate *birthdayDate = [dateFormatter dateFromString:monthStr];
          [dateFormatter setDateFormat:@"yyyyMMdd"];
          NSString *nowtimeStr = [dateFormatter stringFromDate:birthdayDate];
            return nowtimeStr; 
     }
    

    //当天

    + (NSString *)getCurrentYMDay{
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"yyyyMMdd"];
        NSDate *datenow = [NSDate date];
        NSString *nowtimeStr = [formatter stringFromDate:datenow];
        NSLog(@"当前年月日日期:%@",nowtimeStr);
        //2020年01月03日14:40:49 跨年遇到的问题,多了一年
        //    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        //  [dateFormatter setDateFormat:@"yyyyMMdd"];
        //  // 得到当前时间(世界标准时间 UTC/GMT)
        //  NSDate *nowDate = [NSDate date];
        //  // 设置系统时区为本地时区
        //  NSTimeZone *zone = [NSTimeZone systemTimeZone];
        //  // 计算本地时区与 GMT 时区的时间差
        //  NSInteger interval = [zone secondsFromGMT];
        //  // 在 GMT 时间基础上追加时间差值,得到本地时间
        //  nowDate = [nowDate dateByAddingTimeInterval:interval];
        //  NSString *nowtimeStr = [dateFormatter stringFromDate:nowDate];
        //  NSLog(@"现在时间%@",nowtimeStr);
        return nowtimeStr;
    }
    

    //当天

    + (NSString *)getCurrentDay{
       NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
       // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
       [formatter setDateFormat:@"dd"];
       //现在时间,你可以输出来看下是什么格式
       NSDate *datenow = [NSDate date];
       //----------将nsdate按formatter格式转成nsstring
       NSString *currentDayStr = [formatter stringFromDate:datenow];
       return currentDayStr;
    }
    

    //当前月

    + (NSString *)getCurrentMonth{
      // 获取代表公历的NSCalendar对象
      NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
      // 获取当前日期
      NSDate* dt = [NSDate date];
      // 定义一个时间字段的旗标,指定将会获取指定年、月、日、时、分、秒的信息
      unsigned unitFlags = NSCalendarUnitYear |
      NSCalendarUnitMonth |  NSCalendarUnitDay |
      NSCalendarUnitHour |  NSCalendarUnitMinute |
      NSCalendarUnitSecond | NSCalendarUnitWeekday;
      // 获取不同时间字段的信息
      NSDateComponents* comp = [gregorian components: unitFlags
                                          fromDate:dt];
      return [NSString stringWithFormat:@"%ld",comp.month];
    }
    

    //星期几

    + (NSString*)getCurrentWeekDay{
       NSTimeInterval interval = [[NSDate date] timeIntervalSince1970];
       return [self getWeekDayFordate:interval];
    }
    
    + (NSString *)getWeekDayFordate:(NSTimeInterval)data {
          NSArray *weekday = [NSArray arrayWithObjects: [NSNull null], @"星期日", @"星期一", @"星期二", @"星期三", @"星期四", @"星期五", @"星期六", nil];
          NSDate *newDate = [NSDate dateWithTimeIntervalSince1970:data];
          NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
          NSDateComponents *components = [calendar components:NSCalendarUnitWeekday fromDate:newDate];
          NSString *weekStr = [weekday objectAtIndex:components.weekday];
          return weekStr;
      }
    

    //月份

    + (NSString *)getCurrentShortMonth:(NSString *)monthStr{
    
     NSString *gradeS;
     NSInteger index = [monthStr integerValue];
     switch (index) {
         case 1:
         {
             gradeS = @"JAN.";
         }
             break;
         case 2:
         {
             gradeS = @"FEB.";
         }
             break;
         case 3:
         {
             gradeS = @"MAR.";
         }
             break;
         case 4:
         {
             gradeS = @"APR.";
         }
             break;
         case 5:
         {
             gradeS = @"MAY.";
         }
             break;
         case 6:
         {
             gradeS = @"JUN.";
         }
             break;
         case 7:
         {
             gradeS = @"JUL.";
         }
             break;
         case 8:
         {
             gradeS = @"AUG.";
         }
             break;
         case 9:
         {
             gradeS = @"SEP.";
         }
             break;
         case 10:
         {
             gradeS = @"OCT.";
         }
             break;
         case 11:
         {
             gradeS = @"NOV.";
         }
             break;
         case 12:
         {
             gradeS = @"DEC.";
         }
             break;
             
         default:
             break;
        }
        return gradeS;
    }
    

    //星期几

      + (NSString *)getStartStr:(NSString *)starStr{
       NSString *starS;
       NSInteger index = [starStr integerValue];
       switch (index) {
         case 1:
         {
             starS = @"一";
         }
             break;
         case 2:
         {
             starS = @"二";
         }
             break;
         case 3:
         {
             starS = @"三";
         }
             break;
         case 4:
         {
             starS = @"四";
         }
             break;
         case 5:
         {
             starS = @"五";
         }
             break;
         default:
             break;
       }
         return starS;
       }
    

    //字典转json格式字符串:

    + (NSString *)dictionaryToJson:(NSDictionary *)dic{
    NSError *parseError = nil;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
    
    return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
     }
    

    //格式

    - (NSMutableAttributedString *)getAttrText:(NSString *)string{
       NSMutableAttributedString *attribut = [[NSMutableAttributedString alloc] initWithString:string];
       NSRange range = [string rangeOfString:@"天"];
       NSRange pointRange = NSMakeRange(range.location, string.length - range.location);
       [attribut addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"PingFangSC-Regular" size:16] range:pointRange];
       [attribut addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithHexString:@"#FFFFFF" ]  range:pointRange];
       return attribut;
    }
    

    //时间戳转成天

    - (NSString *)getDateTimeFromMilliSeconds:(long)time type:(NSString *)type{
        NSTimeInterval tempMilli = time;
        NSTimeInterval seconds = tempMilli/1000.0; // 这里的.0一定要加上,不然除下来的数据会被截断导致时间不一致
        SYLog(@"传入的时间戳=%f",seconds);
        NSDate *dat = [NSDate dateWithTimeIntervalSince1970:seconds];
        NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:type];
        NSString *date = [formatter stringFromDate:dat];
        NSString *timeLocal = [[NSString alloc] initWithFormat:@"%@", date];
        SYLog(@"\n%@", timeLocal);
        return timeLocal;  
     }
    
    //月 天 时 分
    NSString *activityBeginTimeMMStr = [self getDateTimeFromMilliSeconds:activityBeginTime type:@"MM"];
    
    NSString *activityBeginTimeDDStr = [self getDateTimeFromMilliSeconds:activityBeginTime type:@"dd"];
    
    NSString *activityBeginTimeHHStr = [self getDateTimeFromMilliSeconds:activityBeginTime type:@"HH"];
    NSString *activityBeginTimemmStr =  [self getDateTimeFromMilliSeconds:activityBeginTime type:@"mm"];

    相关文章

      网友评论

          本文标题:字符串转换

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