字符串转换
2020-02-29 本文已影响0人
i爱吃土豆的猫
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"];