根据时间戳显示时间日期,包括星期几。

原创 2015年11月19日 16:26:55

-(NSString*)showDate:(NSString*)dateStr

{

    NSLog(@"%@",[NSDate date]);

    

    //输入时间

    NSDate *inputdate = [NSDate dateWithTimeIntervalSince1970:[dateStr doubleValue]/1000];

    NSLog(@"%@",inputdate);

    

    NSDateFormatter *inputFormatter= [[NSDateFormatter alloc] init];

    

    inputFormatter.timeZone= [[NSTimeZone alloc] initWithName:@"Asia/Beijing"];

    

//    NSString*string = @"20151117121821";

//    [inputFormatter setDateFormat:@"yyyyMMddHHmmss"];

//    NSDate *inputdate=[inputFormatter dateFromString:string];

//    NSLog(@"%@",inputdate);


    [inputFormatter setDateFormat:@"yyyy"];

    NSString *nowyear=[inputFormatter stringFromDate:[NSDate date]];

    NSString *inputyear=[inputFormatter stringFromDate:inputdate];

    int yearDistance=[nowyear intValue]-[inputyear intValue];

    NSLog(@"%@-%@=%d", nowyear,inputyear,yearDistance);

    

    [inputFormatter setDateFormat:@"MM"];

    NSString *nowmonth=[inputFormatter stringFromDate:[NSDate date]];

    NSString *inputmonth=[inputFormatter stringFromDate:inputdate];

    int monthDistance=[nowmonth intValue]-[inputmonth intValue];

    NSLog(@"%@-%@=%d", nowmonth,inputmonth,monthDistance);

    

    [inputFormatter setDateFormat:@"dd"];

    NSString *nowday=[inputFormatter stringFromDate:[NSDate date]];

    NSString *inputday=[inputFormatter stringFromDate:inputdate];

    int dayDistance=[nowday intValue]-[inputday intValue];

    NSLog(@"%@-%@=%d", nowday,inputday,dayDistance);

    

    [inputFormatter setDateFormat:@"HH"];

    NSString *nowhour=[inputFormatter stringFromDate:[NSDate date]];

    NSString *inputhour=[inputFormatter stringFromDate:inputdate];

    int hourDistance=[nowhour intValue]-[inputhour intValue];

    NSLog(@"%@-%@=%d", nowhour,inputhour,hourDistance);

    

    NSString *date=nil;

    if (yearDistance==0 && monthDistance==0 && dayDistance==0 && hourDistance<=2) {

        

        [inputFormatter setDateFormat:@"HH:mm"];

        date=[inputFormatter stringFromDate:inputdate];

        

    }else if ((yearDistance==0 && monthDistance==0 && dayDistance==0 && hourDistance>2)){

        

        date=@"今天";

        

    }else if (yearDistance==0 && monthDistance==0 && dayDistance==1){

        

        date=@"昨天";

        

    }else if (yearDistance==0 && monthDistance==0 && dayDistance<=7){

        

        date=[NSString stringWithFormat:@"%@",[self weekdayStringFromDate:inputdate]];

        

    }else{

        

        [inputFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];

        date=[inputFormatter stringFromDate:inputdate];

    }

    NSLog(@"%@",date);

    return date;


}

-(NSString*)weekdayStringFromDate:(NSDate*)inputDate {

    

    NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"星期日", @"星期一", @"星期二", @"星期三", @"星期四", @"星期五", @"星期六", nil];

    

    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

    

    NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Asia/Beijing"];

    

    [calendar setTimeZone: timeZone];

    

    NSCalendarUnit calendarUnit = NSWeekdayCalendarUnit;

    

    NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:inputDate];

    

    return [weekdays objectAtIndex:theComponents.weekday];

    

}



相关文章推荐

时间日期相关工具类-获取星期,月份,时间戳转化等

package com.onetoo.www.onetoo.utils;import java.text.ParseException; import java.text.SimpleDateForm...

JS显示当前日期和时间的代码(包括农历星期等)

用JS调用当前的时间,调用效果如下: 2011年3月24日 18:04 星期四 辛卯年(兔) 二月廿 酉时 var CalendarData=new Array(20); v...
  • kuqoi
  • kuqoi
  • 2011年11月22日 09:59
  • 1469

php10位时间戳转java日期

  • 2015年10月29日 17:11
  • 650B
  • 下载

PHP获取时间日期星期的方法及解决12/24小时制、年份不完整显示的问题

1. php获取当前时间的方法 2. 解决php的时区不正确问题 3. 解决12小时/24小时制的问题 4. 解决输出年份不完整显示的问题 5. 显示 am / pm 6. 获取当前是星期几...

MySQL UNIX时间戳与日期的相互转换

  • 2012年12月22日 16:55
  • 363KB
  • 下载

时间显示包含日期,星期(VB.NET)

  • 2013年07月26日 15:54
  • 296KB
  • 下载

iOS 开发中关于时间显示问题(今天/昨天/前天/星期几/具体日期)

以今天为基准,显示 今天/昨天/前天(昨天12:12) 离今天一周之内的显示 星期几(星期四) 离今天一周之外的显示 具体日期(15-09-05 12:33)新手处女座,直接上代码// View...
  • GNMB478
  • GNMB478
  • 2015年09月15日 12:37
  • 305

asp简单代码显示日期时间星期

  • 2010年08月31日 09:56
  • 262B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:根据时间戳显示时间日期,包括星期几。
举报原因:
原因补充:

(最多只允许输入30个字)