Вы могли использовать превосходное библиотека Umbrella :
using nVentive.Umbrella.Extensions.Calendar;
DateTime beginning = DateTime.Now.BeginningOfWeek();
Однако они делают , кажется, сохранили в понедельник как первый день недели (см. свойство nVentive.Umbrella.Extensions.Calendar.DefaultDateTimeCalendarExtensions.WeekBeginsOn
), так, чтобы предыдущее локализованное решение было немного лучше. Неудачный.
Редактирование : смотря ближе на вопрос, похоже, что Зонтик мог бы на самом деле работать на тот также:
// Or DateTime.Now.PreviousDay(DayOfWeek.Monday)
DateTime monday = DateTime.Now.PreviousMonday();
DateTime sunday = DateTime.Now.PreviousSunday();
, Хотя стоит отметить, что, если Вы спрашиваете в течение предыдущего понедельника в понедельник, это даст Вам семь дней назад. Но это также верно, если Вы используете BeginningOfWeek
, который походит на ошибку: (.
Если вы используете COTS, вы всегда можете настроить промежуточный шлюз, в котором запрос выполняется и преобразуется (в данном случае в кодировке base64) во что-то более приятное перед возвратом клиенту.
Вы могли бы заставить сервер возвращать текст base64 вместо того, чтобы делать это кодирование на стороне клиента.
Например (в ASP.NET) запрос к /ImageAsBase64.ashx? file = / images / myimage.png может быть закодирован для чтения файла, кодирования base64 и потоковой передачи в качестве ответа.
Это действительно будет то же самое в PHP или в чем-то еще.