time_plus 1.3.2 copy "time_plus: ^1.3.2" to clipboard
time_plus: ^1.3.2 copied to clipboard

Extensions for DateTime and Duration to easily add, convert, and work with time in Dart.

example/example.dart

import 'package:time_plus/time_plus.dart';

void main() {
  // DateTime Examples
  print('=== DateTime Examples ===\n');

  // Create a sample date
  final now = DateTime(2024, 2, 29, 15, 30, 45);
  print('Current date: $now');

  // Adding time units
  print('\n--- Adding Time Units ---');
  final tomorrow = now.addDay;
  final nextWeek = now.addWeek;
  final nextMonth = now.addMonth;
  final nextYear = now.addYear;
  print('Tomorrow: $tomorrow');
  print('Next week: $nextWeek');
  print('Next month: $nextMonth');
  print('Next year: $nextYear');

  // Comparing dates
  print('\n--- Comparing Dates ---');
  final otherDate = DateTime(2024, 2, 29, 15, 30, 50);
  print('Is same day: ${now.isSameDay(otherDate)}');
  print('Is same hour: ${now.isSameHour(otherDate)}');
  print('Is same minute: ${now.isSameMinute(otherDate)}');

  // Getting boundaries
  print('\n--- Date Boundaries ---');
  print('Start of day: ${now.startOfDay}');
  print('End of day: ${now.endOfDay}');
  print('Start of week: ${now.startOfWeek}');
  print('End of week: ${now.endOfWeek}');
  print('Start of month: ${now.startOfMonth}');
  print('End of month: ${now.endOfMonth}');

  // Leap year checks
  print('\n--- Leap Year Checks ---');
  print('Is leap year: ${now.isLeapYear}');
  print('Is leap month: ${now.isLeapMonth}');
  print('Is leap day: ${now.isLeapDay}');

  // Relative days
  print('\n--- Relative Days ---');
  print('Yesterday: ${now.yesterday}');
  print('Tomorrow: ${now.tomorrow}');
  print('Previous weekday: ${now.previousWeekday}');
  print('Next weekday: ${now.nextWeekday}');

  // Duration Examples
  print('\n=== Duration Examples ===\n');

  // Create a sample duration
  final duration = Duration(hours: 2, minutes: 30);
  print('Initial duration: $duration');

  // Adding time units
  print('\n--- Adding Time Units ---');
  final extendedDuration = duration.addHours(1).addMinutes(15);
  print('Extended duration: $extendedDuration');

  // Converting to whole units
  print('\n--- Converting to Whole Units ---');
  final longDuration = Duration(days: 750);
  print('Duration in years: ${longDuration.inYears}');
  print('Duration in months: ${longDuration.inMonths}');

  // Breaking down duration
  print('\n--- Breaking Down Duration ---');
  final complexDuration = Duration(days: 1, hours: 2, minutes: 45, seconds: 30);
  print('Days only: ${complexDuration.onlyDays}');
  print('Hours only: ${complexDuration.onlyHours}');
  print('Minutes only: ${complexDuration.onlyMinutes}');
  print('Seconds only: ${complexDuration.onlySeconds}');

  // Removing units
  print('\n--- Removing Units ---');
  final timeOfDay = complexDuration.withoutDays;
  print('Time of day: $timeOfDay');

  // Creating durations
  print('\n--- Creating Durations ---');
  final workout = DurationFrom.minutes(45);
  final breakTime = DurationFrom.week;
  print('Workout duration: $workout');
  print('Break duration: $breakTime');
}
28
likes
160
points
208
downloads

Publisher

verified publisherjozz.biz

Weekly Downloads

Extensions for DateTime and Duration to easily add, convert, and work with time in Dart.

Repository (GitHub)
View/report issues

Topics

#date #time #duration #datetime #date-time

Documentation

API reference

License

MIT (license)

More

Packages that depend on time_plus