当前日期时间的获取和字符串的截取拼接前、替换 。。。
2016-12-07 17:27
567 查看
今天下午就计算这个时间折腾了我一个下午 ,好好总结 ,记住
NSDate *currentdate = [NSDate
date]; //获取当前时间
NSDateFormatter *formatter = [[NSDateFormatter
alloc]init]; //初始化时间格式符
[formatter setDateFormat:@"HH"]; //设置时间格式符的格式 ,我这里只是想获取今天几点用于计算
NSDateFormatter *formatter1 = [[NSDateFormatter
alloc]init];
[formatter1 setDateFormat:@"dd"]; //我这里只是想获取今天几号用于计算
NSString *currentDateStr1 = [formatter1
stringFromDate:currentdate];//根据时间格式符获取时间
NSInteger dataNow = [currentDateStr1
integerValue]; //转
4000
成NSInteger类型
NSString *currenthourStr = [formatter
stringFromDate:currentdate];
NSInteger hourNow = [currenthourStr
integerValue];
//TimeStop = "2016-12-07T18:15:00"; 我服务器给的时间 给了个T 不然也不要字符串这么多操作
if (_model.TimeStop!=nil
) { //确认获取的model里面有数据
NSArray *array1 = [_model.TimeStop
componentsSeparatedByString:@"-"]; // 以“-”字符为分割线切割 第一部分为 2016,第二部分为 12 第三部分为
07T18:15:00 三个部分组成一个array1
NSString *yearMonthDay = [array1
objectAtIndex:2]; //选择第3部分的string
NSArray *dayarray = [yearMonthDay
componentsSeparatedByString:@"T"]; //将07T18:15:00 分割,分割线为字符“T”, 第一部分为07 第二部分
为 18:15:00 两个部分组成一个dayarray
NSInteger day = [[dayarray
firstObject]integerValue]; // 07为服务器给我的 day 就是7号,转成NSInteger
NSString *time = [dayarray
lastObject]; //time时间为 18:15:00
NSArray *last = [time
componentsSeparatedByString:@":"]; //再以 “:“为分割线获取我要的hour ,分成三部分 。
NSInteger hour1 = [[last
firstObject]integerValue]; // 第一部分为我要的hour 转成NSInteger
NSInteger leaveDay = day -dataNow; //得到剩余天数
NSInteger leaveHour = hour1 - hourNow; //得到剩余hour
NSString *endstr1 = [_model.TimeStop
stringByReplacingOccurrencesOfString:@"T"
withString:@" "]; //将服务器上的T用空格替换2016-12-07 18:15:00
NSArray *endarray = [endstr1
componentsSeparatedByString:@":"];
NSString *str2 = [endarray
firstObject]; //获得2016-12-07 18
NSString *str3 = [endarray
objectAtIndex:1]; 获得15
NSString *endstr2 = [str2
stringByAppendingString:@":"]; //追加字符串: 获得2016-12-07 18:
NSString *endstr = [endstr2
stringByAppendingString:str3]; //再追加str3 获得 2016-12-07 18:15
if (leaveDay>0&&leaveHour>0) {
_timeLabel.text = [NSString
stringWithFormat:@"%@(仅%li天%li小时)",endstr,leaveDay,leaveHour];
}
if (leaveDay>1&&leaveHour<0) {
_timeLabel.text = [NSString
stringWithFormat:@"%@(仅%li天%li小时)",endstr,leaveDay-1,leaveHour+24];
}
if (leaveDay==1&&leaveHour<0) {
_timeLabel.text = [NSString
stringWithFormat:@"%@(仅%li小时)",endstr,leaveHour+24];
}
if (leaveDay==0&&leaveHour>0) {
_timeLabel.text = [NSString
stringWithFormat:@"%@(仅%li小时)",endstr,leaveHour];
}
}
// 常用的时间格式符 这个链接里面很全(看到的)
http://blog.csdn.net/zhugq_1988/article/details/8498672
NSDate *currentdate = [NSDate
date]; //获取当前时间
NSDateFormatter *formatter = [[NSDateFormatter
alloc]init]; //初始化时间格式符
[formatter setDateFormat:@"HH"]; //设置时间格式符的格式 ,我这里只是想获取今天几点用于计算
NSDateFormatter *formatter1 = [[NSDateFormatter
alloc]init];
[formatter1 setDateFormat:@"dd"]; //我这里只是想获取今天几号用于计算
NSString *currentDateStr1 = [formatter1
stringFromDate:currentdate];//根据时间格式符获取时间
NSInteger dataNow = [currentDateStr1
integerValue]; //转
4000
成NSInteger类型
NSString *currenthourStr = [formatter
stringFromDate:currentdate];
NSInteger hourNow = [currenthourStr
integerValue];
//TimeStop = "2016-12-07T18:15:00"; 我服务器给的时间 给了个T 不然也不要字符串这么多操作
if (_model.TimeStop!=nil
) { //确认获取的model里面有数据
NSArray *array1 = [_model.TimeStop
componentsSeparatedByString:@"-"]; // 以“-”字符为分割线切割 第一部分为 2016,第二部分为 12 第三部分为
07T18:15:00 三个部分组成一个array1
NSString *yearMonthDay = [array1
objectAtIndex:2]; //选择第3部分的string
NSArray *dayarray = [yearMonthDay
componentsSeparatedByString:@"T"]; //将07T18:15:00 分割,分割线为字符“T”, 第一部分为07 第二部分
为 18:15:00 两个部分组成一个dayarray
NSInteger day = [[dayarray
firstObject]integerValue]; // 07为服务器给我的 day 就是7号,转成NSInteger
NSString *time = [dayarray
lastObject]; //time时间为 18:15:00
NSArray *last = [time
componentsSeparatedByString:@":"]; //再以 “:“为分割线获取我要的hour ,分成三部分 。
NSInteger hour1 = [[last
firstObject]integerValue]; // 第一部分为我要的hour 转成NSInteger
NSInteger leaveDay = day -dataNow; //得到剩余天数
NSInteger leaveHour = hour1 - hourNow; //得到剩余hour
NSString *endstr1 = [_model.TimeStop
stringByReplacingOccurrencesOfString:@"T"
withString:@" "]; //将服务器上的T用空格替换2016-12-07 18:15:00
NSArray *endarray = [endstr1
componentsSeparatedByString:@":"];
NSString *str2 = [endarray
firstObject]; //获得2016-12-07 18
NSString *str3 = [endarray
objectAtIndex:1]; 获得15
NSString *endstr2 = [str2
stringByAppendingString:@":"]; //追加字符串: 获得2016-12-07 18:
NSString *endstr = [endstr2
stringByAppendingString:str3]; //再追加str3 获得 2016-12-07 18:15
if (leaveDay>0&&leaveHour>0) {
_timeLabel.text = [NSString
stringWithFormat:@"%@(仅%li天%li小时)",endstr,leaveDay,leaveHour];
}
if (leaveDay>1&&leaveHour<0) {
_timeLabel.text = [NSString
stringWithFormat:@"%@(仅%li天%li小时)",endstr,leaveDay-1,leaveHour+24];
}
if (leaveDay==1&&leaveHour<0) {
_timeLabel.text = [NSString
stringWithFormat:@"%@(仅%li小时)",endstr,leaveHour+24];
}
if (leaveDay==0&&leaveHour>0) {
_timeLabel.text = [NSString
stringWithFormat:@"%@(仅%li小时)",endstr,leaveHour];
}
}
// 常用的时间格式符 这个链接里面很全(看到的)
http://blog.csdn.net/zhugq_1988/article/details/8498672
相关文章推荐
- C#字符串截取、获取当前电脑时间、判断输入日期对错 随手记
- 获取当前日期时间字符串的方法
- JS获取当前时间 时间戳和日期字符串相互转换
- SQL获取当前时间| 日期| SQL时间格式| SQL时间截取| getdate()用法
- Java获取当前时间年月日、时间格式化打印、字符串转日期
- python读配置文件;正则表达式替换、切割字符串;获取当前时间
- 批处理获取当前日期时间字符串
- 获取当前日期往后一周的日期,时间截取
- IOS获取当前时区时间,并截取年月日输出字符串
- java实现记事本基本功能:新建、打开、保存、另存为、退出、替换、全部替换、复制、剪切、粘贴、全选、获取当前时间日期、修改字体、颜色、自动换行等
- android 字符串工具类 格式化日期字符串 拼接数组 判断字符串是否为空 转换时间显示 转换文件大小 获取中英文字符个数
- JavaScript获取当前时间字符串、当前日期字符串、周/月/季度/半年度/年度的开始日期和结束日期
- Android 获取当前系统时间 时间之间的转换 判断字符串是否日日期类型
- js动态获取当前系统时间+js字符串转换为date日期对象
- 获取当前日期时间字符串的方法
- Js获取当前日期时间及其它操作 【转】
- js 获取当前日期+时间
- js 获取当前日期时间 格式为 yyyy-mm-dd hh:MM:ss
- Js获取当前日期时间及其它操作
- Js 获取当前日期时间及其它操作实现代码