Files
midi_ios/QXLive/Tools/Category/NSDate+QX.m

152 lines
4.2 KiB
Mathematica
Raw Normal View History

2025-08-14 10:07:49 +08:00
//
// NSDate+Category.m
// YSDTrucksProject
//
// Created by on 2020/8/20.
// Copyright © 2020 . All rights reserved.
//
#import "NSDate+QX.h"
@implementation NSDate (QX)
+ (NSString *)timeStringWithTimeInterval:(NSString *)timeInterval
{
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeInterval.longLongValue]; //,1000 , 1000
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
//
if ([date isToday]) {
// formatter.dateFormat = @"HH:mm";
//
// return [formatter stringFromDate:date];
return @"今天";
}else{
//
if ([date isYesterday]) {
// formatter.dateFormat = @"昨天HH:mm";
// return [formatter stringFromDate:date];
// [date weekdayStringFromDate]
return @"昨天";
}else if ([date isInWeak]){
// formatter.dateFormat = [NSString stringWithFormat:@"%@%@",[date weekdayStringFromDate],@"HH:mm"];
// return [formatter stringFromDate:date];
return @"一周内";
//
}else{
// formatter.dateFormat = @"yy-MM-dd HH:mm";
formatter.dateFormat = @"yyyy-MM-dd";
return [formatter stringFromDate:date];
}
}
return nil;
}
//- (BOOL)isInWeek{
// NSTimeInterval *time = [self ]
//}
//
- (BOOL)isSameWeek
{
NSCalendar *calendar = [NSCalendar currentCalendar];
int unit = NSCalendarUnitWeekday | NSCalendarUnitMonth | NSCalendarUnitYear ;
//1.
NSDateComponents *nowCmps = [calendar components:unit fromDate:[NSDate date]];
//2.self
NSDateComponents *selfCmps = [calendar components:unit fromDate:self];
return (selfCmps.year == nowCmps.year) && (selfCmps.month == nowCmps.month) && (selfCmps.day == nowCmps.day);
}
//
- (NSString *)weekdayStringFromDate{
NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"星期天", @"星期一", @"星期二", @"星期三", @"星期四", @"星期五", @"星期六", nil];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Asia/Shanghai"];
[calendar setTimeZone: timeZone];
NSCalendarUnit calendarUnit = NSCalendarUnitWeekday;
NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:self];
return [weekdays objectAtIndex:theComponents.weekday];
}
//
- (BOOL)isInWeak
{
//2014-05-01
NSDate *nowDate = [[NSDate date] dateWithYMD];
//2014-04-30
NSDate *selfDate = [self dateWithYMD];
//nowDateselfDate
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *cmps = [calendar components:NSCalendarUnitDay fromDate:selfDate toDate:nowDate options:0];
return ((cmps.day > 1) && (cmps.day < 7));
}
//
- (BOOL)isToday
{
//now: 2015-09-05 11:23:00
//self
NSCalendar *calendar = [NSCalendar currentCalendar];
int unit = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear ;
//1.
NSDateComponents *nowCmps = [calendar components:unit fromDate:[NSDate date]];
//2.self
NSDateComponents *selfCmps = [calendar components:unit fromDate:self];
return (selfCmps.year == nowCmps.year) && (selfCmps.month == nowCmps.month) && (selfCmps.day == nowCmps.day);
}
//
- (BOOL)isYesterday
{
//2014-05-01
NSDate *nowDate = [[NSDate date] dateWithYMD];
//2014-04-30
NSDate *selfDate = [self dateWithYMD];
//nowDateselfDate
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *cmps = [calendar components:NSCalendarUnitDay fromDate:selfDate toDate:nowDate options:0];
return cmps.day == 1;
}
//
- (NSDate *)dateWithYMD
{
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
fmt.dateFormat = @"yyyy-MM-dd";
NSString *selfStr = [fmt stringFromDate:self];
return [fmt dateFromString:selfStr];
}
@end