Skip to content

Conversation

@dvoituron
Copy link
Collaborator

[DatePicker] Add DateOnly and TimeOnly extensions

To simplify the use of DateTime, DateOnly and TimeOnly, these extension methods could be used like in the following example.

  • DateTime DateOnly.ToDateTime()

  • DateTime? DateOnly.ToDateTimeNullable()

  • DateOnly DateTime.ToDateOnly()

  • DateOnly? DateTime.ToDateOnlyNullable()

  • DateTime TimeOnly.ToDateTime()

  • DateTime? TimeOnly.ToDateTimeNullable()

  • TimeOnly DateTime.ToTimeOnly()

  • TimeOnly? DateTime.ToTimeOnlyNullable()

If your variable is of type Nullable<DateTime>, you can continue to use @bind-Value.
For other types, you must use the syntax value="..." ValueChanged="..."

<!-- Default usage -->
<FluentDatePicker @bind-Value="@MyDate0" />

<!-- Using conversion methods -->
<FluentDatePicker Value="@MyDate1" ValueChanged="@(e => MyDate1 = e.ToDateTime())" />
<FluentDatePicker Value="@MyDate2.ToDateTimeNullable()" ValueChanged="@(e => MyDate2 = e.ToDateOnlyNullable())" />
<FluentDatePicker Value="@MyDate3.ToDateTime()" ValueChanged="@(e => MyDate3 = e.ToDateOnly())" />

@code
{
    private DateTime? MyDate0 = DateTime.Now;
    private DateTime MyDate1 = DateTime.Now;
    private DateOnly? MyDate2 = DateOnly.FromDateTime(DateTime.Now);
    private DateOnly MyDate3 = DateOnly.FromDateTime(DateTime.Now);
}

@dvoituron dvoituron added the v3 label Feb 11, 2024
@dvoituron dvoituron requested a review from vnbaaij February 11, 2024 16:21
@vnbaaij vnbaaij merged commit 78c9ea5 into dev Feb 11, 2024
@vnbaaij vnbaaij deleted the users/dvoituron/add-date-time-extensions branch February 11, 2024 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants