Flutter – DateTime & Duration

import 'package:flutter/material.dart';

void main() {
  DateTime now = DateTime.now();

  print(now); //2000-01-02 10:00:10.000000
  print(now.year); // 2000
  print(now.month); // 1
  print(now.day); // 2
  print(now.hour); // 10
  print(now.minute); // 0
  print(now.second); // 10

  Duration duration = Duration(seconds: 60);
  print(duration);
  print(duration.inDays); // 0
  print(duration.inHours); // 0
  print(duration.inMinutes); // 1
  print(duration.inSeconds); // 60
  print(duration.inMilliseconds); // 60000


  DateTime specificDay = DateTime(
    1994,12,02
  );

  print(specificDay); //1994-12-02 00:00:00.000
  
  final difference = now.difference(specificDay); // difference 는 return 을 Duration 타입으로 해주기떄문에 Duration 에서 사용한 모든 기능 사용가능
  print(difference); //249953:50:23.528372
  print(difference.inDays); // Days 로 받을 수 있음 (10414)
  print(difference.inHours);
  print(difference.inMinutes);

  print(now.isAfter(specificDay)); // now 가 specificDay 의 이후 인지
  print(now.isBefore(specificDay)); // now 가 specificDay 의 이전 인지

  print(now.add(Duration(hours:10))); // 현재에서 10시간을 더할 수도 있다.
  print(now.subtract(Duration(seconds:20))); //현재에서 20초를 뺀다
}