현재시간 확인하기
Dart
에서 시간 데이터를 다루기 위해서는 DateTime
을 사용하면 된다.
void main() {
DateTime now = DateTime.now();
print(now);
print(now.year);
print(now.month);
print(now.day);
}
// 결과
2022-09-23 11:51:13.218
2022
9
23
특정 시간 환산하기
Duration
을 활용하면 특정 값을 항목별로 환산할 수 있다.
무슨 말이냐면,
void main() {
Duration duration = Duration(seconds: 60);
print(duration);
print(duration.inDays);
print(duration.inHours);
print(duration.inMinutes);
}
// 결과
0:01:00.000000
0
0
1
60초를 각각 하루로 나타냈을 때, 시간으로 나타냈을 때, 분으로 나타냈을 때를 확인할 수 있다.
60초는 1분이니까 .inMinutes
값에만 1이 찍혀있는 것을 확인할 수 있다.
특정 날짜(연, 월, 일) 선언하기
DateTime
으로 특정 날짜를 지정할 수 있다.
void main() {
DateTime specificDay = DateTime(2019, 11, 23);
print(specificDay);
}
// 결과
2019-11-23 00:00:00.000
날짜 사이의 차이 구하기
다음과 같이 날짜와 날짜 사이의 차이를 구할 수 있다.
void main() {
DateTime now = DateTime.now();
DateTime specificDay = DateTime(2019, 11, 23);
final difference = now.difference(specificDay);
print(difference);
print(difference.inDays);
print(difference.inHours);
}
// 결과
29224:32:16.782000
1217
29224
현재 날짜와 2019년 11월 23일의 차이를 계산해보면,
일로는 1217일,
시간으로는 29224시간을 확인할 수 있다.
특정 날짜가 또 다른 날짜의 이후인지 아닌지 확인하기
.isAfter
함수를 사용하면 특정 날짜 또 다른 날짜의 이후인지를 확인할 수도 있다.
void main() {
DateTime now = DateTime.now();
DateTime specificDay = DateTime(2019, 11, 23);
print(now.isAfter(specificDay));
}
// 결과
true
현재는 2019년보다 이후 이기 때문에 결과 값이 true
인 것을 확인할 수 있다.
날짜 연산하기
Duration을 활용해 현재시간에 10시간 뒤의 시간을 구해보자.
void main() {
DateTime now = DateTime.now();
print(now.add(Duration(hours: 10)));
}
// 결과
2022-09-23 21:51:13.218
이전 날짜를 구할 수도 있다. 현재시간 기준 20초 전 시간을 구해보자.
void main() {
DateTime now = DateTime.now();
print(now.subtract(Duration(seconds: 20)));
}
// 결과
2022-09-23 11:50:53.218