/// <summary> /// Converts a <see cref="DateTime" /> of any kind to a LocalDate in the specified calendar, ignoring the time of day. /// This does not perform any time zone conversions, so a DateTime with a <see cref="DateTime.Kind"/> of /// <see cref="DateTimeKind.Utc"/> will still represent the same year/month/day - it won't be converted into the local system time. /// </summary> /// <param name="dateTime">Value to convert into a Noda Time local date</param> /// <param name="calendar">The calendar system to convert into</param> /// <returns>A new <see cref="LocalDate"/> with the same values as the specified <c>DateTime</c>.</returns> public static LocalDate FromDateTime(DateTime dateTime, [NotNull] CalendarSystem calendar) { long ticks = dateTime.Ticks - NodaConstants.BclTicksAtUnixEpoch; int days = TickArithmetic.TicksToDays(ticks); return(new LocalDate(days, calendar)); }
/// <summary> /// Converts a <see cref="DateTime" /> of any kind to a LocalDate in the ISO calendar, ignoring the time of day. /// This does not perform any time zone conversions, so a DateTime with a <see cref="DateTime.Kind"/> of /// <see cref="DateTimeKind.Utc"/> will still represent the same year/month/day - it won't be converted into the local system time. /// </summary> /// <param name="dateTime">Value to convert into a Noda Time local date</param> /// <returns>A new <see cref="LocalDate"/> with the same values as the specified <c>DateTime</c>.</returns> public static LocalDate FromDateTime(DateTime dateTime) { long ticks = dateTime.Ticks - NodaConstants.BclTicksAtUnixEpoch; int days = TickArithmetic.TicksToDays(ticks); return(new LocalDate(days)); }