simply_date 1.0.1 copy "simply_date: ^1.0.1" to clipboard
simply_date: ^1.0.1 copied to clipboard

A simple Flutter package for date formatting and time conversions.

SimplyDate - Flutter Package #

SimplyDate is a utility package for working with dates in Flutter. It provides functions to format and manipulate date strings, check date conditions, and generate relative date expressions (e.g., "yesterday" or "2 days ago").

✨ Features #

✅ Convert dates to various formats (e.g., dd/MM/yyyy, MM/dd/yyyy, Month Year, etc.)
✅ Generate relative date strings (e.g., "just now", "5 minutes ago", "yesterday")
✅ Add ordinal suffixes to days (e.g., "1st", "2nd", "3rd")
✅ Compare dates to check if they are greater or smaller than today
✅ Support custom date formats


📦 Installation #

Add the following dependency to your pubspec.yaml:

dependencies:
  simply_date: ^1.0.0

Then, run:

flutter pub get

🚀 Usage #

Import the package in your Dart code:

import 'package:simply_date/simply_date.dart';

Convert Date to "Time Ago" Format #

SimplyDate simplyDate = SimplyDate();
String? timeAgo = simplyDate.convertToTimeAgo(dateTimeString: "2024-08-21 08:30:00 AM");
print(timeAgo); // Output: "2 days ago"

Convert to Different Date Formats #

String? formattedDate = simplyDate.convertToDDMMYYYformat(dateTimeString: "2024-08-21 08:30:00 AM");
print(formattedDate); // Output: "21/08/2024"

formattedDate = simplyDate.convertMMDDYYYY(dateTimeString: "2024-08-21 08:30:00 AM");
print(formattedDate); // Output: "08/21/2024"

Convert to Custom Formats #

String? monthDayYear = simplyDate.convertToMonthDayYear(dateTimeString: "2024-08-21 08:30:00 AM");
print(monthDayYear); // Output: "August 21, 2024"

String? dayMonthYear = simplyDate.convertToDayMonthYear(dateTimeString: "2024-08-21 08:30:00 AM");
print(dayMonthYear); // Output: "21 August 2024"

Relative DateTime Strings #

String? relativeDate = simplyDate.toRelativeDateTime(dateTimeString: "2024-08-21 08:30:00 AM");
print(relativeDate); // Output: "2 days ago" or "21/08/2024 at 08:30 AM" based on conditions

Adding Ordinal Suffixes to Days #

String? dayWithSuffix = simplyDate.toDayWithOrdinalSuffix(dateTimeString: "2024-08-21 08:30:00 AM");
print(dayWithSuffix); // Output: "21st August 2024"

Date Comparisons #

bool isFuture = simplyDate.isDateGreaterThanToday(dateString: "2024-08-25");
print(isFuture); // Output: true

bool isPast = simplyDate.isDateSmallerThanToday(dateString: "2024-08-18");
print(isPast); // Output: true

📜 List of Methods #

📅 Date Formatting Methods #

  • convertToTimeAgo({String? dateTimeString}) – Converts a date string to a "time ago" format.
  • convertToDDMMYYYformat({String? dateTimeString}) – Converts to dd/MM/yyyy format.
  • convertYYYYMMDD({String? dateTimeString}) – Converts to yyyy-MM-dd format.
  • convertMMDDYYYY({String? dateTimeString}) – Converts to MM/dd/yyyy format.
  • convertToMonthDayYear({String? dateTimeString}) – Converts to Month Day, Year format.
  • convertToDayMonthYear({String? dateTimeString}) – Converts to Day Month Year format.
  • convertToDDMMYYYYAtTime({String? dateTimeString, bool? isNeedAt}) – Converts to dd/MM/yyyy at hh:mm a format.

📊 Date Comparison Methods #

  • isDateGreaterThanToday({String? dateString}) – Checks if the date is greater than today.
  • isDateSmallerThanToday({String? dateString}) – Checks if the date is smaller than today.

🕒 Relative Date Methods #

  • toRelativeDateTime({String? dateTimeString, String customFormat}) – Converts a date string to a relative format like "Today", "Yesterday", or a custom format.

🔢 Ordinal Suffix Method #

  • toDayWithOrdinalSuffix({String? dateTimeString, bool? isRemoveMonth, bool? isRemoveYear}) – Converts a date string to a format with an ordinal suffix.

📱 Example App #

import 'package:flutter/material.dart';
import 'package:simply_date/simply_date.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  final SimplyDate simplyDate = SimplyDate();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text("SimplyDate Example")),
        body: Center(
          child: Text(simplyDate.convertToTimeAgo(dateTimeString: "2024-08-21 08:30:00 AM") ?? "No Data"),
        ),
      ),
    );
  }
}

🤝 Contributing #

If you encounter any bugs or have feature requests, feel free to open an issue on the GitHub repository.


📄 License #

This package is licensed under the MIT License.

4
likes
150
points
24
downloads

Publisher

unverified uploader

Weekly Downloads

A simple Flutter package for date formatting and time conversions.

Repository (GitHub)
View/report issues

Topics

#date #time #formatting

Documentation

API reference

License

MIT (license)

Dependencies

flutter_lints, intl

More

Packages that depend on simply_date