곧죽어도 콛잉

[Dart] DateTime / Duration (날짜/기간 구하기) 본문

Programming/Flutter & Dart

[Dart] DateTime / Duration (날짜/기간 구하기)

코드진행형 2023. 2. 16. 19:50
void main(){
  
  DateTime now = DateTime.now();
  
  print(now);
  print(now.year);
  // month, day, hour, minute, second, millisecond도 같은 방식으로 가능.
  
  
  Duration duration = Duration(seconds : 60);
  
  print(duration);
  print(duration.inMinutes);
  //inDays, inHours, inSeconds, inMilliseconds도 같은 방식으로 가능.
  
  DateTime specificDay = DateTime(
    2022,
    10,
    29,
  ); // 특정 날짜 설정
  
  print(specificDay);
  
  final difference = now.difference(specificDay);
  // 두 날짜의 Duration를 구할 수 있음.
  
  print(difference);
  print(difference.inDays);
  //inDays, inHours, inSeconds, inMilliseconds도 같은 방식으로 가능.
  
  print(now.isAfter(specificDay));
  print(now.isBefore(specificDay));
  
  print(now.add(Duration(hours: 10)));
  
}

output

 코드만 봐도 직관적으로 이해할 수 있을 것이다. JS에 비하면 매우 쉽다!!

 DateTime과 Duration의 차이만 확실히 이해해두자. 말그대로 시각과 시간의 차이다. 

특정 날짜를 구하고 싶을 때는 DateTime으로, 특정 날짜와 날짜 사이의 기간, 혹은 지나간 시간 등을 구하고 싶을 때는 Duration을 사용해야한다. 위의 코드들만 외워도 웬만한 날짜에 관한 프로그램들은 손쉽게 만들 수 있을 것이다!

Comments