기능 금요일 – 더 많은 날짜 및 시간 재미: startOf 및 dayOf

이전에는 날짜 계산, 서식 지정 및 구문 분석을 수행하는 방법을 살펴보았습니다. 이제 특정 날짜 및 시간과 관련된 특정 값을 가져오는 것과 관련된 몇 가지 다른 날짜 및 시간 함수를 자세히 살펴보겠습니다.

기능의 날



밀접하게 관련된 세 가지 기능이 있습니다: dayOfMonth, dayOfWeek, dayOfYear. 세 가지 모두 동일한 방식으로 작동합니다. 현재 월, 주 또는 연도를 참조하여 특정 DateTime의 값을 나타내는 숫자 값을 반환합니다.

예를 들어, 오늘은 2022년 9월 2일 금요일입니다. 해당 월의 2일, 현재 주의 6일, 올해의 245일입니다.

세 함수 모두 형식이 동일합니다.

dayOfMonth('<DATETIME>')
dayOfWeek('<DATETIME>')
dayOfYear('<DATETIME>')


그들은 모두 DATETIME 값에 대한 기본 날짜 형식을 기대합니다. 세 함수 모두 정수 값을 반환합니다.

dayOfMonth('2022-09-02T13:00:00') // returns 2
dayOfWeek('2022-09-02T13:00:00') // returns 5
dayOfYear('2022-09-02T13:00:00') // returns 245


거기에 약간의 문제가 있음을 알 수 있습니다. 나는 오늘이 주의 6일이라고 언급했습니다. 주의 경우 값은 0을 기준으로 하며 일요일에 시작합니다. 따라서 일요일 = 0, 월요일 = 1 등입니다. 월 및 연도의 경우 값은 1을 기준으로 합니다. 따라서 날짜는 2, 연도는 245입니다. 당신이 그것에 익숙해질 때까지 그것은 많은 사람들을 버릴 수 있습니다.

startOf 함수



밀접하게 관련된 또 다른 세 가지 기능이 있습니다: startOfDay, startOfHour, startOfMonth. 이 세 함수는 다른 DateTime 값에 대한 "기본"시작 DateTime 값을 가져와야 하는 경우에 유용합니다. 예를 들어, startOfHour를 사용하면 DateTime 값은 현재 시간의 맨 위에서 반올림되고, startOfDay는 하루의 시작(즉, 자정)에서 반올림되며, startOfMonth는 해당 월의 첫 번째 날에서 반올림됩니다. 자정. 이상하게도 "startOfYear"함수가 없습니다. 그것은 다른 세 가지만큼 유용 할 것 같습니다.

세 함수 모두 동일한 패턴을 따릅니다.

startOfHour('<DATETIME>', '<FORMAT>')
startOfDay('<DATETIME>', '<FORMAT>')
startOfMonth('<DATETIME>', '<FORMAT>')


FORMAT 매개변수는 선택적이며 입력 형식이 아닌 출력 형식을 나타냅니다. 입력 형식은 기본 ISO 8601 형식이어야 합니다. 출력 형식을 지정하지 않으면 기본 형식으로 출력됩니다.

예:

startOfHour('2022-09-02T13:43:22') // returns '2022-09-02T13:00:00.0000000'
startOfDay('2022-09-02T13:43:22') // returns '2022-09-02T00:00:00.0000000'
startOfMonth('2022-09-02T13:43:22') // returns '2022-09-01T00:00:00.0000000'

startOfDay('2022-09-02T13:43:22', 'yyyy-MM-dd') // returns '2022-09-02'


보시다시피 이 함수는 보고서 매개변수와 같은 항목에 자주 사용되는 DateTime 값을 반올림하는 데 매우 유용합니다.

게시물Function Friday – More Date and Time Fun: startOf and dayOfBarret Codes에 처음 등장했습니다.

좋은 웹페이지 즐겨찾기