변수 선언
나는 일단 위젯 안에서 쓸 현재 시간을 구하기 위해
return 부분 위쪽에서 now 를 다음과 같이 선언한다.
final String now = new DateTime.now().toString();
final 과 const
const 는 컴파일 시에 상수화가 진행되고 final 은 런타임 시에 상수화가 진행되기 때문에
final 의 경우 rebuild 가 가능하다는 특징이 있다는 점에서 const 를 사용하지 않고 final 을 사용하였다.
위젯에서 사용하는 경우 다음과 같이 Text 안에 변수를 넣어준다.
이때 굳이 `` 백틱을 사용할 필요는 없었다.
Text('$now',
style: TextStyle(
color: Colors.white,
fontSize: 35,
fontWeight: FontWeight.w500,
),
),
결과는 뿅!
근데 이제 내가 항상 쓰는 포맷인 "23.01.23" 로 나오게끔 설정하려면 코드를 좀 수정해야 한다.
먼저 해줘야 할 것이 있는데 pubspec.yaml 파일에서 intl: 버전 을 추가해준다.
이게 플러터에서 패키지 불러오는 방식이다.
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
# 여기에 추가해줌!!
intl: ^0.17.0
그리고 DateFormat 함수를 쓰는 곳에 다음과 같이 패키지를 불러온다.
import 'package:intl/intl.dart';
이전에는 DateTime 을 현재 시간으로 찍고 바로 toString 해서 뿌려줬다면
DateTime 타입은 그대로 가져와서 포맷 형식으로 바꾼 뒤 string 처리해주는 format 에 넣는다.
=> format 함수 return type 이 string 인지는 확실하지 않기 때문에 확인 필요함.
final now = new DateTime.now();
String formattedDate = DateFormat('yy.MM.dd').format(DateTime.now());
// return 부분에서 now 대신 formattedDate 를 사용한다. 어차피 now 못 씀.
Text('$formattedDate',
이제 깰끔.!
'Flutter' 카테고리의 다른 글
22.10.03 레이아웃 만들기 (1) | 2022.10.03 |
---|---|
22.09.13 flutter 프로젝트 생성 (3) | 2022.09.13 |
22.09.12 [jemerald] flutter 설치 (0) | 2022.09.13 |