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이거나 누락된 경우 반환할 값입니다. 인수는 유효한 표현식일 수 있습니다.

$dateToString 지정하지 않으면 는 date 이 null이거나 누락된 경우 null을 반환합니다.

다음도 참조하세요.

<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"
}

돌아가기

$dateToParts