-
String을 DateTime으로 파싱 ( Parse String into dateTime )Apex 2024. 3. 7. 23:05
1. ISO 8601 형식으로 표현된 날짜와 시간 String
- String createDate = '2024-02-29T02:27:56.000Z';
- "2024-02-29": 날짜 (년-월-일)
- "T": 날짜와 시간을 구분하는 구분자
- "02:27:56.000": 시간 (시:분:초.밀리초)
- "Z": UTC(협정 세계 시)를 나타내는 시간대 표시
2. 'T'와 'Z'를 제거 후 Datetime.valueOf(String)
String toConvert = '2024-02-29T02:27:56.000Z'; toConvert = toConvert.replace('T', ' ').replace('Z', ''); Datetime actualDatetime = Datetime.valueOf(toConvert); System.debug('toConvert: ' + toConvert);
'T'와 'Z'를 제거하는 작업 후 > Datetime.valueOf(String)
3. 원하는 포맷(format)으로 출력 DateTime.format()
String toConvert = '2024-02-29T02:27:56.000Z'; toConvert = toConvert.replace('T', ' ').replace('Z', ''); Datetime actualDatetime = Datetime.valueOf(toConvert); System.debug('toConvert: ' + toConvert); String formatDate = actualDatetime.format('yy-MM-dd HH:mm', 'KST'); System.debug('formatDate: ' + formatDate);
4. Tip - format(dateFormatString, timezone);
- timezone 지정안해주면 날짜가 원하는 것과 다르게 표시 다르게 될 수 있음
- format('yy-MM-dd HH:mm', 'KST');
- 'KST' 지정 안해주면
- 24-02-27 17:00로 표현되지 않고 24-02-28 05:00로 표시됨
5. Datetime Class 참조
Datetime Class | Apex Reference Guide | Salesforce Developers
Constructs a Datetime from Integer representations of the specified year, month (1=Jan), day, hour, minute, and second in the local time zone. Signature public static Datetime newInstance(Integer year, Integer month, Integer day, Integer hour, Integer minu
developer.salesforce.com
반응형