Created with <3 with dartpad.dev.
Created
January 5, 2023 05:38
-
-
Save AyeshaIftikhar/c2a024e94f3c4e452842b4dca26c4f08 to your computer and use it in GitHub Desktop.
exquisite-osmium-3856
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
main() { | |
print('First Date: ${findFirstDateOfTheWeek(DateTime.now())}'); | |
print('Last Date: ${findLastDateOfTheWeek(DateTime.now())}'); | |
print('First Date of Previous Week: ${findFirstDateOfPreviousWeek(DateTime.now())}'); | |
} | |
/// Current Week | |
DateTime findFirstDateOfTheWeek(DateTime dateTime) { | |
return dateTime.subtract(Duration(days: dateTime.weekday - 1)); | |
} | |
DateTime findLastDateOfTheWeek(DateTime dateTime) { | |
return dateTime.add(Duration(days: DateTime.daysPerWeek - dateTime.weekday)); | |
} | |
/// Previous Week | |
/// Find first date of previous week using a date in current week. | |
/// [dateTime] A date in current week. | |
DateTime findFirstDateOfPreviousWeek(DateTime dateTime) { | |
final DateTime sameWeekDayOfLastWeek = | |
dateTime.subtract(const Duration(days: 7)); | |
return findFirstDateOfTheWeek(sameWeekDayOfLastWeek); | |
} | |
/// Find last date of previous week using a date in current week. | |
/// [dateTime] A date in current week. | |
DateTime findLastDateOfPreviousWeek(DateTime dateTime) { | |
final DateTime sameWeekDayOfLastWeek = | |
dateTime.subtract(const Duration(days: 7)); | |
return findLastDateOfTheWeek(sameWeekDayOfLastWeek); | |
} | |
/// Next Week | |
/// Find first date of next week using a date in current week. | |
/// [dateTime] A date in current week. | |
DateTime findFirstDateOfNextWeek(DateTime dateTime) { | |
final DateTime sameWeekDayOfNextWeek = dateTime.add(const Duration(days: 7)); | |
return findFirstDateOfTheWeek(sameWeekDayOfNextWeek); | |
} | |
/// Find last date of next week using a date in current week. | |
/// [dateTime] A date in current week. | |
DateTime findLastDateOfNextWeek(DateTime dateTime) { | |
final DateTime sameWeekDayOfNextWeek = dateTime.add(const Duration(days: 7)); | |
return findLastDateOfTheWeek(sameWeekDayOfNextWeek); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment