HKPCommon.m 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. //
  2. // HKPCommon.m
  3. // HKPTimeLine 仿赤兔、微博动态
  4. // CSDN: http://blog.csdn.net/samuelandkevin
  5. // Created by samuelandkevin on 16/9/20.
  6. // Copyright © 2016年 HKP. All rights reserved.
  7. //
  8. #import "HKPCommon.h"
  9. #import "NSDate+LYXCategory.h"
  10. @implementation HKPCommon
  11. @end
  12. NSString *showDateString(NSString *dateString){
  13. if (!dateString) {
  14. return @"";
  15. }
  16. NSDate *date = dateFromString(dateString);
  17. return getNormalShowDateString(date);
  18. }
  19. /**
  20. * 格式化日期
  21. * @param dateFormat 日期格式,etg:@"yyyy-MM-dd HH:mm:ss"
  22. */
  23. NSString *toStringByformat(NSString *dateFormat,NSDate *date)
  24. {
  25. NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
  26. [formatter setDateFormat:dateFormat];
  27. NSString *returnString = [formatter stringFromDate:date];
  28. return returnString;
  29. }
  30. NSDate *dateFromString(NSString *dateString){
  31. NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  32. [dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
  33. NSDate *destDate= [dateFormatter dateFromString:dateString];
  34. return destDate;
  35. }
  36. NSString *getNormalShowDateString(NSDate *date)
  37. {
  38. NSDate *nowDate = [NSDate date];
  39. NSString *dateStr = toStringByformat(@"yyyy-MM-dd", date);
  40. NSString *curDateStr = toStringByformat(@"yyyy-MM-dd", nowDate);
  41. if ([dateStr isEqualToString:curDateStr])
  42. {
  43. //当天信息
  44. NSInteger hour = [toStringByformat(@"HH", date) integerValue];
  45. NSString *strMonment = @"";
  46. if(hour < 6){
  47. strMonment = ASLocalizedString(@"凌晨");
  48. }
  49. else if (hour < 12){
  50. strMonment = ASLocalizedString(@"上午");
  51. }
  52. else if (hour < 18){
  53. strMonment = ASLocalizedString(@"下午");
  54. }
  55. else{
  56. strMonment = ASLocalizedString(@"晚上");
  57. }
  58. return toStringByformat([NSString stringWithFormat:@"%@ HH:mm",strMonment],date);
  59. }
  60. else
  61. {
  62. NSDate *yesterday = [NSDate dateWithTimeIntervalSince1970:[nowDate timeIntervalSince1970]-(24*60*60)];
  63. NSDate *dayBeforeYesterday = [NSDate dateWithTimeIntervalSince1970:[nowDate timeIntervalSince1970] - 48*60*60];
  64. NSString *yesterdatStr = [yesterday toStringByformat:@"yyyy-MM-dd"];
  65. NSString *dayBeYesdatStr = [dayBeforeYesterday toStringByformat:@"yyyy-MM-dd"];
  66. if ([dateStr isEqualToString:yesterdatStr])//昨天
  67. {
  68. return toStringByformat(ASLocalizedString(@"昨天 HH:mm"),date);
  69. }
  70. else if ([dateStr isEqualToString:dayBeYesdatStr])
  71. {
  72. return toStringByformat(ASLocalizedString(@"前天 HH:mm"), date);
  73. }
  74. else
  75. {
  76. NSString *dateStr = [date toStringByformat:@"yyyy" ];
  77. NSString *curDateStr = [nowDate toStringByformat:@"yyyy"];
  78. if ([dateStr isEqualToString:curDateStr])//当年
  79. {
  80. NSString *toString = toStringByformat(ASLocalizedString(@"M月d日"),date);
  81. return toString;
  82. }
  83. else//超过一年
  84. {
  85. return toStringByformat(ASLocalizedString(@"yyyy年MM月dd日"),date);
  86. }
  87. }
  88. }
  89. }