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
형식으로 변환되어 시간 정보까지 포함한 날짜 객체가 됩니다. - 예를 들어,
parsedDate
는2024-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