날짜 문자열(집계)
정의
$dateToString
사용자가 지정한 형식에 따라 날짜 객체를 문자열로 변환합니다.
$dateToString
표현식 에는 다음과 같은 연산자 표현식 구문이 있습니다.
다음 환경에서 호스팅되는 배포에 $dateToString
사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
$dateToString
표현식에는 다음과 같은 연산자 표현식 구문이 있습니다.
{ $dateToString: { date: <dateExpression>, format: <formatString>, timezone: <tzExpression>, onNull: <expression> } }
필드 | 설명 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
date | |||||||||||||
format | 선택 사항. 날짜 형식 지정되지 않고 지정되지 않았고 | ||||||||||||
timezone | 선택 사항. 작업 결과의 표준 시간대입니다. 은 Olson 표준 시간대 식별자 또는 UTC 오프셋 형식의 문자열로
| ||||||||||||
onNull | 선택 사항입니다. 미지정 시 |
형식 지정자
<formatString>
에서 사용할 수 있는 형식 지정자:
지정자 | 설명 | Possible Values |
---|---|---|
%b | 월 이름 축약형(3글자) 버전 7.0에 추가. | jan -dec |
%B | 월 이름 전체 버전 7.0에 추가. | january -december |
%d | 월과 요일(2자리, 제로 패딩) | 01 -31 |
%G | ISO 8601 형식의 연도 | 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 |
%u | ISO 8601 형식의 요일 번호(1-월요일, 7-일요일) | 1 -7 |
%U | 연도별 주(2자리, 제로 패딩) | 00 -53 |
%V | ISO 8601 형식의 연도별 주 | 01 -53 |
%w | 요일(1-일요일, 7-토요일) | 1 -7 |
%Y | 연도(4자리, 0 패딩) | 0000 -9999 |
%z | UTC의 표준 시간대 오프셋. | +/-[hh][mm] |
%Z | UTC에서 오프셋된 분을 숫자로 표시합니다. 예를 들어 표준 시간대 오프셋( +/-[hhmm] )이 +0445 이면 분 오프셋은 +285 입니다. | +/-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" } }, abbreviated_month: { $dateToString: {format: "%b", date: "$date", timezone: "+04:30" } }, full_month: { $dateToString: { format: "%B", 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", "abbreviated_month": "Jan", "full_month": "January" }