/// <summary>
        /// Initialize a new instance based on the specified <paramref name="timestamp"/>.
        /// </summary>
        /// <param name="timestamp">A timestamp.</param>
        public EssentialsDateWeek(EssentialsDateTime timestamp)
        {
            Week  = Iso8601Utils.GetWeekNumber(timestamp.DateTime);
            Start = TimeUtils.GetFirstDayOfWeek(timestamp.DateTime);
            End   = TimeUtils.GetLastDayOfWeek(timestamp.DateTime);

            if (End.Month == 1 && Week == 1)
            {
                Year = End.Year;
            }
            else if (Start.Month == 12 && Week >= 50)
            {
                Year = Start.Year;
            }
            else
            {
                Year = timestamp.Year;
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Gets the first day of the week of the specified <paramref name="date"/> and based on <paramref name="startOfWeek"/>.
 /// </summary>
 /// <param name="date">The date.</param>
 /// <param name="startOfWeek">The first day of the week (eg. <see cref="DayOfWeek.Monday"/> or
 /// <see cref="DayOfWeek.Sunday"/>).</param>
 /// <returns>An instance of <see cref="DateTimeOffset"/> representing the first day of the week.</returns>
 public static DateTimeOffset GetFirstDayOfWeek(DateTimeOffset date, DayOfWeek startOfWeek)
 {
     return(TimeUtils.GetFirstDayOfWeek(date, startOfWeek));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Gets the first day of the week of the specified <paramref name="date"/>. Monday is considered the first day of
 /// the week.
 /// </summary>
 /// <param name="date">The date.</param>
 /// <returns>An instance of <see cref="DateTime"/> representing the first day of the week.</returns>
 public static DateTime GetFirstDayOfWeek(DateTime date)
 {
     return(TimeUtils.GetFirstDayOfWeek(date));
 }