iOS NSDate 시간 판단
3415 단어 oc
직접 상향 함수:
#define DATE_TIME_MINUTEX 60
#define DATE_TIME_HOURS (60*60)
#define DATE_ONETHOUSAND 1000
#define DATE_TIME_DAYTIME (24*60*60)
#define DATE_TIME_DAYTIMES (24*60*60*2)
/**
* string
*/
- (NSString *)intervalSinceNow: (NSString *) theDate
{
NSTimeInterval late = [theDate floatValue]/DATE_ONETHOUSAND;
NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
NSTimeInterval now=[dat timeIntervalSince1970]*1;
NSString *timeString=@"";
NSTimeInterval cha=now-late;
if (cha/DATE_TIME_HOURS<1) {
timeString = [NSString stringWithFormat:@"%f", cha/DATE_TIME_MINUTEX];
timeString = [timeString substringToIndex:timeString.length-7];
timeString=[NSString stringWithFormat:@"%@ ", timeString];
}
if (cha/DATE_TIME_HOURS>1 && cha/DATE_TIME_DAYTIME<1) {
timeString = [NSString stringWithFormat:@"%f", cha/DATE_TIME_HOURS];
timeString = [timeString substringToIndex:timeString.length-7];
timeString=[NSString stringWithFormat:@"%@ ", timeString];
}
if (cha/DATE_TIME_DAYTIME>1 && cha/DATE_TIME_DAYTIMES<1) {
timeString=@" ";
}
if (cha/DATE_TIME_DAYTIMES>1)
{
timeString = [NSString stringWithFormat:@"%f", cha/DATE_TIME_DAYTIME];
timeString = [timeString substringToIndex:timeString.length-7];
timeString=[NSString stringWithFormat:@"%@ ", timeString];
}
}
이번 주와 오늘의 메시지인지 판단하기
//
-(BOOL)isTodayNews: (NSString *) theDate
{
NSTimeInterval late = [theDate floatValue]/DATE_ONETHOUSAND;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY/MM/dd"];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:late];
NSString *dateSMS = [dateFormatter stringFromDate:date];
NSDate *now = [NSDate date];
NSString *dateNow = [dateFormatter stringFromDate:now];
if ([dateSMS isEqualToString:dateNow]) {
return YES;
}
else {
return NO;
}
}
//
-(NSDate *)dateStartOfWeek:(NSDate *)date {
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar] ;
[gregorian setFirstWeekday:2]; //monday is first day
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSWeekdayCalendarUnit fromDate:date];
NSDateComponents *componentsToSubtract = [[NSDateComponents alloc] init] ;
[componentsToSubtract setDay: - ((([components weekday] - [gregorian firstWeekday])
+ 7 ) % 7)];
NSDate *beginningOfWeek = [gregorian dateByAddingComponents:componentsToSubtract toDate:date options:0];
NSDateComponents *componentsStripped = [gregorian components: (NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit)
fromDate: beginningOfWeek];
//gestript
beginningOfWeek = [gregorian dateFromComponents: componentsStripped];
return beginningOfWeek;
}
잘못된 점은 큰 신의 가르침을 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[iOS] UIColor+Change 색상 클래스의 클래스 확장색상 클래스 UIColor의 토대 위에서 클래스(Category)로 확장되었습니다. 주요 기능은 다음과 같습니다. 색상 객체에 대한 RGB 수치 얻기 -(CGFloat)getRGB; 설명: 이 방법은 인터넷에서 유행...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.