save_points_intl 1.2.0 copy "save_points_intl: ^1.2.0" to clipboard
save_points_intl: ^1.2.0 copied to clipboard

A comprehensive, modular, zero-dependency date/time library for Flutter with 7 languages, 100+ functions, and smart formatting.

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.2.0 - 2025-12-01 #

Changed #

  • Modernized README.md - Complete redesign with:

    • Modern badges and visual design
    • Better structured sections with centered tables
    • Improved navigation and quick links
    • Enhanced code examples presentation
    • Better visual hierarchy and readability
    • Added live demo link prominently
  • Enhanced Example App - Complete UI/UX overhaul:

    • Modern Material Design 3 implementation
    • Improved visual design with gradient headers
    • Section icons for better visual identification
    • Copy-to-clipboard functionality for code examples
    • Better color scheme and theming
    • Enhanced code block styling
    • Improved spacing and layout
    • Better widget organization with CustomScrollView
    • Snackbar notifications for user feedback

Improved #

  • Better documentation structure and presentation
  • More engaging example app experience
  • Improved developer experience with modern Flutter patterns

1.1.0 - 2025-12-01 #

Added #

DateComparisons Enhancements (31 new methods)

  • Temporal proximity checks:

    • isWithinDays() - Check if date is within N days
    • isWithinWeeks() - Check if date is within N weeks
    • isWithinMonths() - Check if date is within N months
    • isWithinYears() - Check if date is within N years
  • Relative period checks:

    • isLastWeek() / isNextWeek() - Week-based checks
    • isLastMonth() / isNextMonth() - Month-based checks
    • isLastYear() / isNextYear() - Year-based checks
  • Weekday checks:

    • isMonday() through isSunday() - Individual weekday checks
  • Time of day checks:

    • isMorning() - 6:00 AM - 11:59 AM
    • isAfternoon() - 12:00 PM - 5:59 PM
    • isEvening() - 6:00 PM - 9:59 PM
    • isNight() - 10:00 PM - 5:59 AM
  • Precision checks:

    • isSameHour() / isSameMinute() - Hour and minute precision comparisons
  • Period checks:

    • isFirstHalfOfMonth() / isSecondHalfOfMonth() - Half-month checks
    • isFirstQuarter() through isFourthQuarter() - Quarter checks
  • Leap year:

    • isLeapYear() - Check if year is leap year
    • isLeapYearDate() - Check if date's year is leap year

DateCalculations Enhancements (25 new methods)

  • Boundary methods:

    • startOfHour() / endOfHour() - Hour boundaries
    • startOfMinute() / endOfMinute() - Minute boundaries
  • Date arithmetic:

    • addYears() / subtractYears() - Year arithmetic
    • addWeeks() / subtractWeeks() - Week arithmetic
    • addDays() / subtractDays() - Day arithmetic (convenience methods)
  • Date differences:

    • getDaysBetween() - Days between dates
    • getWeeksBetween() - Weeks between dates
    • getMonthsBetween() - Months between dates
    • getYearsBetween() - Years between dates
    • getDaysUntil() - Days until future date
    • getDaysSince() - Days since past date
  • Rounding utilities:

    • roundToHour() - Round to nearest hour
    • roundToDay() - Round to nearest day
  • Weekday utilities:

    • getNthWeekdayOfMonth() - Get 1st Monday, 2nd Friday, etc.
    • getLastWeekdayOfMonth() - Get last Monday, last Friday, etc.
    • getNextWeekday() - Get next occurrence of weekday
    • getPreviousWeekday() - Get previous occurrence of weekday
  • Utility functions:

    • clamp() - Clamp date between min and max
    • min() / max() - Get earlier/later of two dates

Summary #

  • 56 new utility methods added across DateComparisons and DateCalculations
  • Total library now includes 100+ functions
  • Zero dependencies maintained
  • All methods fully documented and type-safe

1.0.1 - 2025-12-01 #

Fixed #

  • Added example app in example/ directory to meet pub.dev requirements
  • Removed lib/main.dart to fix documentation warnings
  • Improved example documentation with comprehensive usage demonstrations

1.0.0 - 2025-12-01 #

Added #

Core Features

  • Date Formatting - 14+ formatting functions with multi-language support

    • Short, medium, long, and full date formats
    • Custom pattern support (yyyy-MM-dd, etc.)
    • ISO 8601 formatting
    • Date range formatting
    • File-safe formatting
    • Ordinal date formatting (1st, 2nd, 3rd)
  • Time Formatting - 8+ time formatting functions

    • 12-hour and 24-hour formats
    • With/without seconds support
    • Millisecond precision
    • Combined date/time formats
  • Date Comparisons - 13+ comparison utilities

    • Same day, week, month, year checks
    • Today, yesterday, tomorrow checks
    • Past/future checks
    • Weekend/weekday checks
    • Date range checks with inclusive/exclusive options
  • Date Calculations - 20+ calculation functions

    • Start/end of day, week, month, year, quarter
    • Business days calculations (add, subtract, count)
    • Age calculation from birthdate
    • Month arithmetic with edge case handling
    • Leap year detection
    • Week number calculation
    • Quarter calculations
    • Timezone utilities (UTC conversion, offset formatting)
  • Relative Time - 5+ relative time functions

    • Past relative time ("2 hours ago")
    • Future relative time ("in 3 days")
    • Short format ("2h", "3d")
    • Duration formatting
    • Countdown/time remaining
  • Smart Features

    • Context-aware formatting
    • Flexible date parsing
    • Date validation
    • Custom pattern support

Internationalization

  • 7 Languages Supported
    • English (en, en_US, en_GB)
    • Spanish (es, es_ES)
    • French (fr, fr_FR)
    • German (de, de_DE)
    • Arabic (ar, ar_SA) with RTL support
    • Japanese (ja, ja_JP)
    • Chinese (zh, zh_CN)

Architecture

  • Modular Design - Import only what you need

    • date_formatters.dart - Date formatting
    • time_formatters.dart - Time formatting
    • date_comparisons.dart - Comparisons
    • date_calculations.dart - Calculations
    • relative_time.dart - Relative time
    • date_parsers.dart - Parsing
    • smart_formatters.dart - Smart formatting
    • constants.dart - Translations and constants
    • datetime.dart - Barrel file (exports all)
  • Zero Dependencies - Pure Dart implementation

  • Tree-shakable - Unused code eliminated in builds

  • Type-safe - Full null safety support

  • Well-documented - Comprehensive inline documentation

Documentation

  • Comprehensive README with 850+ lines
  • EXAMPLES.md with 1,286 lines of usage examples
  • 9 real-world use case examples
  • Quick start guide
  • Migration guide
  • API reference for 50+ functions
  • FAQ section
  • Troubleshooting guide

Testing

  • Example app demonstrating all features
  • Unit test coverage for core functions
  • Static analysis passing
  • Production-ready code quality

Features Summary #

  • 50+ utility functions
  • 7 languages with proper localization
  • Zero external dependencies
  • Modular architecture
  • Comprehensive documentation
  • Real-world examples
  • Production-ready

Performance #

  • Lightweight (<50KB impact)
  • Fast execution (<1ms for most operations)
  • Minimal memory footprint
  • No runtime overhead
1
likes
160
points
158
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive, modular, zero-dependency date/time library for Flutter with 7 languages, 100+ functions, and smart formatting.

Repository (GitHub)
View/report issues

Topics

#datetime #date-formatting #i18n #localization #utilities

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on save_points_intl