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');
}
34
likes
160
points
3.47k
downloads

Documentation

API reference

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

License

MIT (license)

More

Packages that depend on time_plus