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

날짜 문자열(집계)

이 페이지의 내용

  • 정의
  • 형식 지정자
  • 예시
$dateToString

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

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

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

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

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

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

date

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

format

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

지정되지 않고 timezone 이 지정되고 UTC가 아닌 표준 시간대로 설정하다 경우 $dateToString"%Y-%m-%dT%H:%M:%S.%L" 를 기본값 형식으로 사용합니다.

지정되지 않았고 timezone 이 지정되지 않았거나 명시적으로 UTC로 지정된 경우 $dateToString"%Y-%m-%dT%H:%M:%S.%LZ" 를 기본값 형식으로 사용합니다.

timezone

선택 사항. 작업 결과의 표준 시간대입니다. 은 Olson 표준 시간대 식별자 또는 UTC 오프셋 형식의 문자열로<tzExpression> 해석되는 유효한 표현식 string 이어야 합니다. 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

이 페이지의 내용