initializeDateFormatting() 메서드란?
- 날짜/시간 서식 지정 등 국제화 및 로컬라이제이션에 사용되는 intl 패키지에서 제공하는 메서드다.
- Locale 에 따른 날짜와 시간에 대한 포맷팅을 세팅하는 역할을 한다.
어떻게 동작하는가?
- 날짜 서식 지정 메서드를 호출하기 전에 적어도 하나의 Locale 에 대해 이 함수를 호출해야 한다.
- 지정한 Locale 에 따라 날짜 서식 패턴을 초기화한다.
- 지정하지 않으면, 장치의 기본 Locale 을 사용한다.
- 지정된 Locale 규칙에 따라 날짜 및 시간 서식을 지정하는데 필요한 데이터를 로드한다.
- 월, 요일, 일반적인 시간 및 날짜 형식이 포함된다.
- 주석에 아래와 같이 써져있다.
This should be called for at least one locale before any date formatting methods are called. It sets up the lookup for date symbols. Both the locale and ignored parameter are ignored, as the data for all locales is directly available.
사용 코드 예제
main()
에서 초기화하고MyHomePage
의build()
메서드에서 실제로 사용한다.- 사용 전, WidgetsFlutterBinding.ensureInitialized() 를 꼭 실행시켜주어야 한다.
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:intl/date_symbol_data_local.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await initializeDateFormatting(); // Initialize for default locale
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Intl Demo',
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
// Example of using DateFormat
String formattedDate = DateFormat.yMMMMd('en_US').format(DateTime.now());
return Scaffold(
appBar: AppBar(
title: Text('Intl Demo'),
),
body: Center(
child: Text(formattedDate),
),
);
}
}
반응형
'플러터' 카테고리의 다른 글
플러터(Flutter) 의 글로벌 키(GlobalKey) 클래스란? (0) | 2023.12.06 |
---|---|
플러터의 Drift 라이브러리(플러그인) 이란? (0) | 2023.12.03 |
플러터(Flutter) 의 WidgetsFlutterBinding.ensureInitializing() 이란? (0) | 2023.12.02 |
안드로이드 스튜디오 에뮬레이터 인식 안됨 (Device emulator-5554 is offline) 문제 해결 (0) | 2023.12.02 |
플러터 (Flutter) A value of type 'Null' can't be assigned to parameter of type 'double' in a const constructor 에러 (0) | 2023.11.30 |