날짜 문자열(집계)
정의
호환성
다음 환경에서 호스팅되는 배포에 $dateToString
사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
$dateToString
표현식에는 다음과 같은 연산자 표현식 구문이 있습니다.
{ $dateToString: { date: <dateExpression>, format: <formatString>, timezone: <tzExpression>, onNull: <expression> } }
$dateToString
는 다음 필드가 포함된 문서를 사용합니다.
필드 | 설명 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
date | |||||||||||||
format | 선택 사항입니다. 날짜 형식 사양입니다. 지정하지 않으면 | ||||||||||||
timezone |
| ||||||||||||
onNull | 선택 사항입니다. 미지정 시 |
형식 지정자
<formatString>
에서 사용할 수 있는 형식 지정자:
지정자 | 설명 | 가능한 값 |
---|---|---|
%d | 월과 요일(2자리, 제로 패딩) | 01 -31 |
%G | ISO 8601 형식의 연도 버전 3.4에 새로 추가되었습니다. | 0000 -9999 |
%H | 시(2자리, 제로 패딩, 24시간 시계) | 00 -23 |
%j | 1년 기준 일수(3자리, 영숫자) | 001 -366 |
%L | 밀리초(3자리, 제로 패딩) | 000 -999 |
%m | 월(2자리, 제로 패딩) | 01 -12 |
%M | 분(2자리, 제로 패딩) | 00 -59 |
%S | 초(2자리, 제로 패딩) | 00 -60 |
%w | 요일(1-일요일, 7-토요일) | 1 -7 |
%u | ISO 8601 형식의 요일 번호(1-월요일, 7-일요일) 버전 3.4에 새로 추가되었습니다. | 1 -7 |
%U | 연도별 주(2자리, 제로 패딩) | 00 -53 |
%V | ISO 8601 형식의 연도별 주 버전 3.4에 새로 추가되었습니다. | 01 -53 |
%Y | 연도(4자리, 0 패딩) | 0000 -9999 |
%z | UTC의 표준 시간대 오프셋. 버전 3.6에 새로 추가되었습니다. | +/-[hh][mm] |
%Z | UTC에서 오프셋된 분을 숫자로 표시합니다. 예를 들어 표준 시간대 오프셋( 버전 3.6에 새로 추가되었습니다. | +/-mmm |
%% | 리터럴로서의 백분율 문자 | % |
예제
다음 문서가 포함된 collection을 고려합니다:sales
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate("2014-01-01T08:15:39.736Z") }
다음 집계는 $dateToString
을 사용하여 date
필드를 형식이 지정된 문자열로 반환합니다.
db.sales.aggregate( [ { $project: { yearMonthDayUTC: { $dateToString: { format: "%Y-%m-%d", date: "$date" } }, timewithOffsetNY: { $dateToString: { format: "%H:%M:%S:%L%z", date: "$date", timezone: "America/New_York"} }, timewithOffset430: { $dateToString: { format: "%H:%M:%S:%L%z", date: "$date", timezone: "+04:30" } }, minutesOffsetNY: { $dateToString: { format: "%Z", date: "$date", timezone: "America/New_York" } }, minutesOffset430: { $dateToString: { format: "%Z", date: "$date", timezone: "+04:30" } } } } ] )
이 연산은 다음과 같은 결과를 반환합니다.
{ "_id" : 1, "yearMonthDayUTC" : "2014-01-01", "timewithOffsetNY" : "03:15:39:736-0500", "timewithOffset430" : "12:45:39:736+0430", "minutesOffsetNY" : "-300", "minutesOffset430" : "270" }