StoneKit.Core.Structs.DateRange
2024.1.1.391401
dotnet add package StoneKit.Core.Structs.DateRange --version 2024.1.1.391401
NuGet\Install-Package StoneKit.Core.Structs.DateRange -Version 2024.1.1.391401
<PackageReference Include="StoneKit.Core.Structs.DateRange" Version="2024.1.1.391401" />
paket add StoneKit.Core.Structs.DateRange --version 2024.1.1.391401
#r "nuget: StoneKit.Core.Structs.DateRange, 2024.1.1.391401"
// Install StoneKit.Core.Structs.DateRange as a Cake Addin #addin nuget:?package=StoneKit.Core.Structs.DateRange&version=2024.1.1.391401 // Install StoneKit.Core.Structs.DateRange as a Cake Tool #tool nuget:?package=StoneKit.Core.Structs.DateRange&version=2024.1.1.391401
StoneKit.Core.Structs.DateRange
DateRange is a lightweight C# struct that represents a range of dates, providing various functionalities such as checking for inclusion of a date within the range, calculating duration, checking for overlaps, and more.
Installation
You can install StoneKit.Core.Structs.DateRange via NuGet Package Manager:
PM> Install-Package StoneKit.Core.Structs.DateRange
Usage
// Create a date range from January 1, 2023 to December 31, 2023
var range = new DateRange(new DateTime(2023, 1, 1), new DateTime(2023, 12, 31));
// Calculate duration in days
double durationInDays = range.TotalDays();
Console.WriteLine($"Duration in days: {durationInDays}");
// Check if a specific date falls within the date range
DateTime dateToCheck = new DateTime(2023, 6, 15);
bool isIncluded = range.IncludesDate(dateToCheck);
Console.WriteLine($"Is {dateToCheck} included in the date range? {isIncluded}");
Features
- DateRange Struct: Represents a range of dates with optional start and end dates.
- Extension Methods: Provides a set of extension methods to enhance the functionality of the DateRange struct:
Duration()
: Calculates the duration between two dates.OverlapsWith()
: Checks if two date ranges overlap.Intersection()
: Calculates the intersection of two date ranges.Union()
: Calculates the union of two date ranges.Shift()
: Shifts the date range by a specified duration.IsEmpty()
: Checks if the date range is empty (has no duration).IsInfinite()
: Checks if the date range is infinite (has no end date).TotalDays()
: Gets the duration of the date range in days.Hours()
: Gets the duration of the date range in hours.Minutes()
: Gets the duration of the date range in minutes.Seconds()
: Gets the duration of the date range in seconds.TotalMilliseconds()
: Gets the duration of the date range in milliseconds.
Contributions
Contributions and feedback are welcome! Feel free to submit issues, feature requests, or pull requests on the GitHub repository.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2024.1.1.391401 | 108 | 10/5/2024 |
2024.1.1.305385 | 91 | 8/5/2024 |
2024.1.1.268769 | 94 | 7/9/2024 |
2024.1.1.261673 | 114 | 7/4/2024 |
2024.1.1.261665 | 103 | 7/4/2024 |
2024.1.1.261631 | 107 | 7/4/2024 |
2024.1.1.260673 | 99 | 7/3/2024 |
2024.1.1.260489 | 111 | 7/3/2024 |
2024.1.1.260485 | 98 | 7/3/2024 |
1.24.703.180756 | 120 | 7/3/2024 |
1.24.703.164603 | 108 | 7/3/2024 |
1.24.703.121207 | 107 | 7/3/2024 |
1.24.626.192706 | 112 | 6/26/2024 |
1.24.612.859 | 99 | 6/11/2024 |
1.24.611.233127 | 99 | 6/11/2024 |
1.24.611.232752 | 94 | 6/11/2024 |
1.24.603.121931 | 89 | 6/3/2024 |
1.24.317.170729 | 127 | 3/17/2024 |
1.24.317.170542 | 123 | 3/17/2024 |
1.24.317.164648 | 115 | 3/17/2024 |
1.24.317.161354 | 131 | 3/17/2024 |