[Flutter] DateTime 및 Duration
2022. 10. 22. 19:45ㆍ프로그래밍 언어/Flutter
1.현재 시간 나타내는법 : DateTime.now()
(년 월 일 시 분 초 밀리초)
void main(){
DateTime now = DateTime.now();
print('----DateTime---');
print(now); // 2022-10-22 19:40:57.261
print(now.year); // 2022
print(now.month);// 10
print(now.day); // 22
print(now.hour); // 19
print(now.minute);// 40
print(now.second);// 57
print(now.millisecond);//261
2.기간 나타내는법 : Duration(기간);
Duration duration =Duration(seconds: 60);
print('----duration---');
print(duration); // 0:01:00.000000
print(duration.inDays); // 0
print(duration.inHours);//0
print(duration.inMinutes); // 1
print(duration.inSeconds); // 60
print(duration.inMilliseconds); // 60000
DateTime specificDay = DateTime(
2017,
11,
23,
);
print(specificDay); // 2017-11-23 00:00:00.000
3.시간 차이 나타내는법 now.difference( Datetime 객체 );
print('----difference---');
final difference = now.difference(specificDay);
print(difference); // 43075:40:57.261000
print(difference.inDays); // 1794
print(difference.inHours);//43075
print(difference.inMinutes); // 2584540
}
4.날짜 연산 하는법 : add, substract( Duration 객체 )
print(now.isAfter(specificDay)); // true
print(now.isBefore(specificDay)); // false
print('----연산---');
print(now); // 2022-10-22 19:40:57.261
print(now.add(Duration(hours:10))); // 2022-10-23 05:40:57.261
print(now.subtract(Duration(seconds:20))); // 2022-10-22 19:40:37.261
5. DateTime으로 변환
parse 메소드 : String 형식의 날짜 -> DateTime
Parse는 ISO 8601 을 파싱할 수있다.
아래와 같은 ISO 8601 포맷의 String 을 파싱할 수있다.
아래는 예시 코드
void main(){
String strDate1 = "2022-10-22T11:52:02+03:00";
String strDate2 ="2012-02-27 13:27:00";
DateTime specificDate1 = DateTime.parse(strDate1);
print(strDate1); // 2022-10-22T11:52:02+03:00
print(specificDate1); // 2022-10-22 08:52:02.000Z
DateTime specificDate2 = DateTime.parse(strDate2);
print(strDate2); // 2012-02-27 13:27:00
print(specificDate2); // 2012-02-27 13:27:00.000
}
6. 다양하게 표현하는법 : DateFormat
참고: DateFormat
import 'package:intl/intl.dart';
void main(){
print(DateTime.now()); // 2022-10-23 20:40:48.869
print(DateFormat.yMMMd().format(DateTime.now())); // Oct 23, 2022
}
출처:
1. 인프런_플러터프로젝트
2. https://api.dart.dev/stable/2.18.3/dart-core/DateTime-class.html
'프로그래밍 언어 > Flutter' 카테고리의 다른 글
[Flutter] 이미지 자동 슬라이드 프로젝트(PageView,Timer) (0) | 2022.10.22 |
---|---|
Flutter IOS / android에서 http 사용 설정법 (0) | 2022.10.18 |
WebView 사용법 (0) | 2022.10.17 |
[Flutter] Row and Column (0) | 2022.10.13 |
INSTALL_FAILED_INSUFFICIENT_STORAGE 해결법 (0) | 2022.10.10 |