Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

날짜 문자열(집계)

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 형식 지정자
  • 예시
$dateToString

사용자가 지정한 형식에 따라 날짜 객체를 문자열로 변환합니다.

다음 환경에서 호스팅되는 배포에 $dateToString 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

  • MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전

  • MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전

$dateToString 표현식에는 다음과 같은 연산자 표현식 구문이 있습니다.

{ $dateToString: {
date: <dateExpression>,
format: <formatString>,
timezone: <tzExpression>,
onNull: <expression>
} }

$dateToString는 다음 필드가 포함된 문서를 사용합니다.

필드
설명
date

버전 3.6에서 변경됨.

문자열로 변환할 날짜입니다. <dateExpression>Date, Timestamp 또는 ObjectID로 해석되는 유효한 표현식이어야 합니다.

format

선택 사항입니다. 날짜 형식 사양입니다. <formatString>은 0개 이상의 형식 지정자를 포함하는 모든 문자열 리터럴일 수 있습니다. 사용 가능한 지정자 목록은 형식 지정자를 참조하세요.

지정하지 않으면 $dateToString"%Y-%m-%dT%H:%M:%S.%LZ"을(를) 기본 형식으로 사용합니다.

timezone

Optional. 작업 결과의 표준 시간대입니다. 은 Olson 표준 시간대 <tzExpression> 식별자 형식의 string 로 해석되는 유효한 표현식 이어야 합니다. 또는 UTC 오프셋 . timezone 이 제공되지 않으면 결과가 UTC 에 표시됩니다.

형식
예시
Olson Timezone Identifier
"America/New_York"
"Europe/London"
"GMT"
UTC Offset
+/-[hh]:[mm], e.g. "+04:45"
+/-[hh][mm], e.g. "-0530"
+/-[hh], e.g. "+03"
onNull

선택 사항입니다. date가 null이거나 누락된 경우 반환할 값입니다. 인수는 유효한 표현식일 수 있습니다.

미지정 시 $dateToStringdate이 null이거나 누락된 경우 null을 반환합니다.

다음도 참조하세요.

<formatString>에서 사용할 수 있는 형식 지정자:

지정자
설명
Possible Values
%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
%w
요일(1-일요일, 7-토요일)
1-7
%u
ISO 8601 형식의 요일 번호(1-월요일, 7-일요일)
1-7
%U
연도별 주(2자리, 제로 패딩)
00-53
%V
ISO 8601 형식의 연도별 주
01-53
%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" } }
}
}
]
)

이 연산은 다음과 같은 결과를 반환합니다.

{
"_id" : 1,
"yearMonthDayUTC" : "2014-01-01",
"timewithOffsetNY" : "03:15:39:736-0500",
"timewithOffset430" : "12:45:39:736+0430",
"minutesOffsetNY" : "-300",
"minutesOffset430" : "270"
}

돌아가기

$dateToParts