날짜 문자열(집계)
정의
$dateToString
사용자가 지정한 형식에 따라 날짜 객체를 문자열로 변환합니다.
$dateToString
표현식 에는 다음과 같은 연산자 표현식 구문이 있습니다.
다음 환경에서 호스팅되는 배포에 $dateToString
사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
$dateToString
표현식에는 다음과 같은 연산자 표현식 구문이 있습니다.
{ $dateToString: { date: <dateExpression>, format: <formatString>, timezone: <tzExpression>, onNull: <expression> } }
필드 | 설명 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
| 선택 사항. 날짜 형식 사양입니다. 지정되지 않고 지정되지 않았고 | ||||||||||||
| 선택 사항. 작업 결과의 표준 시간대입니다. 은 Olson 표준 시간대 식별자 또는 UTC 오프셋 형식의 문자열로
| ||||||||||||
| 선택 사항입니다.
|
형식 지정자
<formatString>
에서 사용할 수 있는 형식 지정자:
지정자 | 설명 | Possible Values |
---|---|---|
| 월 이름 축약형(3글자) 버전 7.0에 추가. |
|
| 월 이름 전체 버전 7.0에 추가. |
|
| 월과 요일(2자리, 제로 패딩) |
|
| ISO 8601 형식의 연도 |
|
| 시(2자리, 제로 패딩, 24시간 시계) |
|
| 1년 기준 일수(3자리, 영숫자) |
|
| 밀리초(3자리, 제로 패딩) |
|
| 월(2자리, 제로 패딩) |
|
| 분(2자리, 제로 패딩) |
|
| 초(2자리, 제로 패딩) |
|
| ISO 8601 형식의 요일 번호(1-월요일, 7-일요일) |
|
| 연도별 주(2자리, 제로 패딩) |
|
| ISO 8601 형식의 연도별 주 |
|
| 요일(1-일요일, 7-토요일) |
|
| 연도(4자리, 0 패딩) |
|
| UTC의 표준 시간대 오프셋. |
|
| UTC에서 오프셋된 분을 숫자로 표시합니다. 예를 들어 표준 시간대 오프셋( |
|
| 리터럴로서의 백분율 문자 |
|
예시
다음 문서가 포함된 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" }