[flutter] 플러터에서 시간을 시간대로 변환하는 방법
플러터(Flutter) 개발 중 다른 시간대로 시간을 변환하는 것은 종종 필요합니다. 이를 위해서는 내장된 Dart 언어의 DateTime 클래스와 intl 패키지를 사용할 수 있습니다. 이 블로그 포스트에서는 DateTime을 다른 시간대로 변환하는 방법을 살펴보겠습니다.
DateTime 클래스를 사용한 시간 변환
Dart의 DateTime 클래스를 사용하여 특정 시간대로 DateTime 개체를 변환할 수 있습니다.
예를 들어, 현재 시간을 기준으로 특정 시간대(예: 뉴욕, 도쿄)에 맞는 시간을 확인하려면 다음과 같이 할 수 있습니다.
import 'package:intl/intl.dart';
void main() {
DateTime now = DateTime.now();
DateTime newyorkTime = now.toUtc().subtract(Duration(hours: 5));
DateTime tokyoTime = now.toUtc().add(Duration(hours: 9));
print('현재 시간: $now');
print('뉴욕 시간: ${DateFormat('yyyy-MM-dd HH:mm').format(newyorkTime)}');
print('도쿄 시간: ${DateFormat('yyyy-MM-dd HH:mm').format(tokyoTime)}');
}
이 코드에서는 toUtc()
함수를 사용하여 UTC 시간으로 변환한 후, subtract
및 add
함수를 사용하여 특정 시간대에 맞게 시간을 조정합니다.
intl 패키지를 사용한 시간대 변환
intl 패키지를 사용하면 DateTime 객체를 특정 시간대에 맞게 변환할 수 있습니다.
import 'package:intl/intl.dart';
void main() {
DateTime now = DateTime.now();
String formattedNewYorkTime = DateFormat('yyyy-MM-dd HH:mm', 'en_US').format(now.toUtc().subtract(Duration(hours: 5)));
String formattedTokyoTime = DateFormat('yyyy-MM-dd HH:mm', 'en_US').format(now.toUtc().add(Duration(hours: 9)));
print('현재 시간: $now');
print('뉴욕 시간: $formattedNewYorkTime');
print('도쿄 시간: $formattedTokyoTime');
}
intl 패키지를 사용하여 DateTime 객체를 특정 시간대의 문자열로 변환할 수 있습니다.
결론
플러터에서 시간을 다른 시간대로 변환하는 방법에 대해 알아보았습니다. DateTime 클래스와 intl 패키지를 활용하여 시간대 변환을 수월하게 할 수 있습니다.
플러터 DateTime 클래스에 대한 자세한 내용은 공식 문서를 참조하십시오.
즐거운 플러터 개발 되시길!