LocalDate 1.1.0
dotnet add package LocalDate --version 1.1.0
NuGet\Install-Package LocalDate -Version 1.1.0
<PackageReference Include="LocalDate" Version="1.1.0" />
paket add LocalDate --version 1.1.0
#r "nuget: LocalDate, 1.1.0"
// Install LocalDate as a Cake Addin #addin nuget:?package=LocalDate&version=1.1.0 // Install LocalDate as a Cake Tool #tool nuget:?package=LocalDate&version=1.1.0
LocalDate
Date only library, similar to C# native DateTime
but only Date
with no time. This library uses Julian Day number for date calculations. This library is intended to be simple to use solution to lack of Date only type in C#.
One of the reasons I wrote this library is because there is really one major Date only library out there and that is NodaTime's library LocalDate
type but I found it very difficult to use for basic Date representations. I am aware of the name similarity of this library with NodaTime's LocalDate
type. But this library is very basic compared to capabilities of NodaTime.
Exmaples:
LocalDate date, clone;
DateTime dateTime;
String str;
// June 1, 2018
date = new LocalDate(2018, 6, 1);
// "2018-06-01"
str = date.ToString("yyyy-MM-dd")
// Parse LocalDate from string
clone = LocalDateFactory.ParseLocalDate(str);
// Convert the LocalDate to C# DateTime type
dateTime = date.ToDateTime();
// Convert DateTime back to LocalDate (via extension method)
clone = dateTime.ToLocalDate();
// June 11, 2018
date = date.AddDays(10);
// April 11, 2019
date = date.AddMonth(10);
// June 11, 2029
date = date.AddYears(10);
// Add two LocalDates together
data = date + date;
// Or Subtract them
date = date - date
Serializer and Deserializers
LocalDate comes with json (JSON.NET
library) and bson (C# Mongo
driver) Serializer/Deserializer out of the box that converts the date to string
and parse it back from string.
High-level design:
LocalDate
extends LocalDateStruct
which only has three int
properties, hence if at any time extra methods are not needs, you can up-cast LocalDate
to LocalDateStruct
.
public interface
{
int Year { get; }
int Month { get; }
int Day { get; }
}
// LocalDate extends ILocalDate
public interface ILocalDate: ILocalDateStruct
{
...
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 is compatible. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
-
.NETCoreApp 2.0
- MongoDB.Driver (>= 2.0.0)
- Newtonsoft.Json (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.