NSDate 时间戳转字符串 ,字符串转NSDate,NSDate之间比较大小

时间戳转成字符串

  • (NSString )timeWithTimeIntervalString:(NSString )timeString
    format:(NSString )format {
    // 格式化时间
    NSDateFormatter
    formatter = [[NSDateFormatter alloc] init];
    formatter.timeZone = [NSTimeZone timeZoneWithName:@"shanghai"];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:format];
    // 毫秒值转化为秒
    NSDate
    date = [NSDate dateWithTimeIntervalSince1970:[timeString doubleValue]/ 1000.0];
    NSString
    dateString = [formatter stringFromDate:date];
    return dateString;

}

当前时间前几天数组

  • (NSArray *) timeWithBeforeTodayDays:(NSInteger)days {

    NSMutableArray *eightArr = [[NSMutableArray alloc] init];

    for (int i = 0; i < days; i ++) {
    //从现在开始的24小时
    NSTimeInterval secondsPerDay = -i * 246060;
    NSDate *curDate = [NSDate dateWithTimeIntervalSinceNow:secondsPerDay];

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
     [dateFormatter setDateFormat:@"M月d日"];
     NSString *dateStr = [dateFormatter stringFromDate:curDate];//几月几号
     [eightArr addObject:dateStr];
    

    }

    return eightArr;
    }
    获取当前时间
    +(NSString *)getCurrentDate{
    NSDate * date = [NSDate date];
    NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init ];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString * dateStr = [dateFormatter stringFromDate:date];
    return dateStr;
    }

比较两个NSDate的大小

  • (BOOL)dataTransformTimestamp:(NSString)startDateStr endDate:(NSString)endStr{
    //将传入时间转化成需要的格式
    NSDateFormatter *format=[[NSDateFormatter alloc]init];
    [format setDateFormat:@"yyyy-MM-dd"];
    [format setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8]];
    NSDate *startDate=[format dateFromString:startDateStr];
    NSDate *endDate=[format dateFromString:endStr];

    NSComparisonResult result = [startDate compare:endDate];

// NSLog(@"fromdate=%@",startDate);
//
// NSLog(@"enddate=%@",endDate);

if (result == NSOrderedDescending) {
    //NSLog(@"startDate  is in the future");
    return 1;
}
else if (result == NSOrderedAscending){
    //NSLog(@"startDate is in the past");
    return 0;
}
//NSLog(@"Both dates are the same");
return 0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • #define TIME_FORMAT_DEFAULT @"yyyy-MM-dd HH:mm:ss" // 字...
    PPFSaber阅读 699评论 0 0
  • 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大...
    真巧了_嘿阅读 2,813评论 0 7
  • 做App避免不了要和时间打交道,关于时间的处理,里面有不少门道,远不是一行API调用,获取当前系统时间这么简单。我...
    沧海的风阅读 773评论 0 1
  • 1.生日正则表达式 #pragma 正则匹配生日 + (BOOL)checkBirthNumber:(NSStri...
    肉肉要次肉阅读 2,907评论 1 1
  • 最近项目中用到了周 月的具体时间,就找了一下资料发现系统提供了获取日期的API,NSCalendar这个类,这里我...
    叶落似晚秋阅读 3,179评论 1 6