21. Flutter - JSON 문자열 Timestamp를 Flutter의 DateTime으로 변환 후 하루 추가하기

JSON - Timestamp
홍윤's avatar
Oct 11, 2024
21. Flutter - JSON 문자열 Timestamp를 Flutter의 DateTime으로 변환 후 하루 추가하기
 
import 'package:intl/intl.dart'; void main() { String createdAt = "2024-10-11 09:17:31"; // String을 DateTime으로 변환 DateTime parsedDate = DateTime.parse(createdAt); // 하루 더하기 DateTime newDate = parsedDate.add(Duration(days: 1)); // 날짜만 출력하도록 포맷팅 String formattedDate = DateFormat('yyyy-MM-dd').format(newDate); print(formattedDate); // 결과: 2024-10-12 } ------------------------------------------------------------------ //또 다른 방법 import 'dart:convert'; import 'package:intl/intl.dart'; void main() { // JSON 형식의 String 데이터 (타임스탬프 포함) String jsonString = '{"createdAt": "2024-10-11 09:17:31"}'; // JSON 데이터를 Map으로 파싱 Map<String, dynamic> jsonData = jsonDecode(jsonString); // createdAt 값을 String에서 DateTime으로 변환 DateTime parsedDate = DateTime.parse(jsonData['createdAt']); // 하루 더하기 DateTime newDate = parsedDate.add(Duration(days: 1)); // 날짜만 출력하도록 포맷팅 String formattedDate = DateFormat('yyyy-MM-dd').format(newDate); print(formattedDate); // 결과: 2024-10-12 }
💡

코드설명

1. String createdAt = "2024-10-11 09:17:31";

  • 설명: 이 부분에서는 createdAt이라는 문자열 변수를 선언하고, "2024-10-11 09:17:31"이라는 날짜와 시간을 가진 문자열을 할당합니다. 이 문자열은 DateTime 형식으로 변환할 예정입니다.

2. DateTime parsedDate = DateTime.parse(createdAt);

  • 설명: DateTime.parse() 메서드는 createdAt 문자열을 DateTime 객체로 변환합니다. 이때 "2024-10-11 09:17:31"은 DateTime 형식으로 변환되어 시간 정보까지 포함한 날짜 객체가 됩니다.
    • 예를 들어, parsedDate2024-10-11 09:17:31.000과 같이 변환됩니다.

3. DateTime newDate = parsedDate.add(Duration(days: 1));

  • 설명: parsedDate에 하루를 더하는 부분입니다. Duration(days: 1)을 사용하여 하루의 시간을 추가하고, 새로운 DateTime 객체 newDate에 그 값을 저장합니다. 이 코드는 "2024-10-11"에 하루를 더하여 "2024-10-12"로 만듭니다.
    • parsedDate.add()는 기존 DateTime 객체에 Duration을 더한 새 DateTime 객체를 반환합니다.

4. String formattedDate = DateFormat('yyyy-MM-dd').format(newDate);

  • 설명: intl 패키지의 DateFormat 클래스를 사용하여 newDate를 원하는 형식의 문자열로 변환합니다. 여기서 'yyyy-MM-dd'는 "년-월-일" 형식을 의미하며, 시간 부분을 제외한 날짜만 출력됩니다. 이 결과는 formattedDate 변수에 저장됩니다.
 
Share article

Uni