切换时区,实时刷新时间。。 今天的时间, 周几的信息。。超过7天显示年月日
来源:互联网 发布:批发市场软件 编辑:程序博客网 时间:2024/06/09 17:10
+ (NSString*)getMessageDateString:(NSDate*)messageDate andNeedTime:(BOOL)needTime
{
NSDateFormatter *formatter = [[NSDateFormatteralloc] init];
[formatter setLocale:[NSLocalesystemLocale]];
[formatter setTimeZone:[NSTimeZonesystemTimeZone]];
[formatter setDateFormat:@"YYYY/MM/dd HH:mm"];
NSCalendar *cal = [NSCalendarcurrentCalendar];
NSDateComponents *components = [calcomponents:NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSWeekdayCalendarUnitfromDate:messageDate];
NSDate *msgDate = [caldateFromComponents:components];
components = [cal components:NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSWeekdayCalendarUnitfromDate:[NSDatedate]];
NSDate *today = [caldateFromComponents:components];
// 1.今天显示格式 11:11
if([todayisEqualToDate:msgDate]){
formatter.dateFormat =@"HH:mm";
return [formatterstringFromDate:messageDate];
}
// 2. 昨天显示格式 昨天
components.day -= 1;
NSDate *yestoday = [caldateFromComponents:components];
if([yestodayisEqualToDate:msgDate]){
NSString *ystdStr;
if (needTime) {
if ([IMSSCommonisChinese]) {
ystdStr = @"昨天";
} else {
ystdStr = @"Ystd";
}
formatter.dateFormat =@"HH:mm";
} else {
formatter.dateFormat =@"";
ystdStr = HWLocalizedString(@"昨天",nil);
}
return [NSStringstringWithFormat:@"%@ %@", ystdStr,[formatterstringFromDate:messageDate]];
}
// 3. 一星期内 星期X
for (int i = 1; i <= 6; i++) {
components.day -= 1;
NSDate *nowdate = [caldateFromComponents:components];
if([nowdateisEqualToDate:msgDate]){
// 目的周期格式EEEE 中英文转换不过来
if ([IMSSCommonisChinese]) {
formatter.locale = [[NSLocalealloc] initWithLocaleIdentifier:@"zh_CN"];
} else {
formatter.locale = [[NSLocalealloc] initWithLocaleIdentifier:@"en_US"];
}
if (needTime) {
formatter.dateFormat =@"EEE HH:mm";
} else {
formatter.dateFormat =@"EEEE";
}
return [formatterstringFromDate:messageDate];
}
}
// 4. 一星期前 2015/1/10
while (1) {
components.day -= 1;
NSDate *nowdate = [caldateFromComponents:components];
if ([nowdateisEqualToDate:msgDate]) {
if (needTime) {
formatter.dateFormat =@"MM-dd HH:mm";
} else {
formatter.dateFormat =@"YYYY-MM-dd";
}
return [formatterstringFromDate:messageDate];
break;
}
}
}
- 切换时区,实时刷新时间。。 今天的时间, 周几的信息。。超过7天显示年月日
- 用js显示今天的时间,年月日,包括星期几
- 汇编 实时显示系统时间 年月日信息
- js实现年月日 当前时间的显示
- js 实时显示不同时区时间
- 日期时间的实时显示
- js实现显示本地年月日时间和周几
- 几种时间以及时区之间的时间转换
- HignCharts时间显示天大的巨坑 时区问题
- MyEclipse时间显示0时区时间的解决办法
- 关于时间问题(时间的显示 和时区)
- C++打印今天年月日,时间和星期几。
- web显示实时时间动态刷新
- json格式的时间显示为正常年月日的方法
- javascript显示年月日时间
- 状态栏时间显示年月日
- 使用Jquery动态显示年月日星期时间的代码段
- TP只保留年月日,不显示具体时间的写法
- linux命令(7)ubuntu的vim命令用法
- 【数据结构】-常用排序算法对比
- unity3d 单例模式
- Mysql的存储引擎之:MEMORY存储引擎
- C#_C#中[],List,Array,ArrayList的区别及应用
- 切换时区,实时刷新时间。。 今天的时间, 周几的信息。。超过7天显示年月日
- W3c学习笔记——JS基础
- 1181 -- 队花的烦恼
- EasyX开发的贪吃蛇简单版,还有很多bug没改
- 1182 -- 对决
- 经典算法之图的最短路径(二):Bellman_Ford算法
- 1183 -- 整除个数(1)
- 正则表达式的搜索和替换
- fft