문제

현재 주의 마지막 날과 마지막 날을 어떻게 얻을 수 있습니까? 내가 필요로하는 것은 NSDate 속성이있는 일련의 객체를 필터링하여 현재 주에 나타나는 객체 만 남기고 며칠간에 필터링하는 방법입니다. 또한 현지화 된 날 이름을 얻을 수있는 방법이 필요합니다.

NSCALENDAR, NSDATE 및 NSDATECOMPONENTS와 함께 플레이하려고했지만 이전/다음 달부터 몇 주가 지났을 때 달력의 첫 주일 만 확인할 수없는 것 같습니다.

도움이 되었습니까?

해결책 2

좋아, 여기 가야, 작업을 수행하는 파이썬 스 니펫

def daySec(diff):
    return 60*60*24*diff

def weekDays(dt=None):
    if not dt:
        dt = NSDate.date() # use today
    cal = NSCalendar.currentCalendar()
    dc = cal.components_fromDate_(NSWeekdayCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit, dt)
    normDt = cal.dateFromComponents_(dc) # get the day-rounded date
    shift = dc.weekday() - cal.firstWeekday()
    firstDt = normDt.dateByAddingTimeInterval_(daySec(-shift))
    lastDt = normDt.dateByAddingTimeInterval_(daySec(-shift+7)) # up to next week's first day midnight
    return (firstDt, lastDt)

다른 팁

NSDATECOMPONENTS를 사용하여 주일을 얻으십시오. 일요일은 일요일 1에서 7입니다.

평일 번호가 있으면 차이와 첫 번째 요일의 차이를 계산하십시오. 예를 들어 월요일 (2)이 첫날이라고 생각한다면, 며칠 전 (또는 그럴 것) 이었습니까? 주중이 4 (수) 인 경우 차이는 2입니다. 이는 원래 날짜로부터 이틀을 빼면 누가있는 첫날을 얻게됩니다.

을 체크하다 자세한 내용은 문서입니다,이 객체에 시간 속성도 포함되어 있다는 사실을 처리해야하기 때문에. 가능하다면 날짜와 날짜 비교에만 관심이있을 때 시간 값이 항상 0인지 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top