美文网首页
字符串转换

字符串转换

作者: 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