현재 주간 마지막 날과 마지막 날
-
06-07-2019 - |
문제
현재 주의 마지막 날과 마지막 날을 어떻게 얻을 수 있습니까? 내가 필요로하는 것은 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인지 확인하십시오.
제휴하지 않습니다 StackOverflow