Есть две проблемы с DateTime.Now и DateTime.Today на стороне клиента и на стороне сервера.Когда вы передаете объект DateTime от клиента в Azure, его Kind равен Local и содержит информацию о часовом поясе.(10 июня 2011 г., 12:30 -7)
Однако при сохранении в базе данных информация о регионе теряется.Впоследствии при чтении этого поля из базы данных он создает DateTime с регионом Utc (10 июня 2011 года, 0:30 утра)
В конечном итоге ваш клиент неправильно читает дату и время.
Естьнесколько вариантов решения этой проблемы на стороне клиента.
1) Преобразование DateTime в DateTimeOffset в параметрах метода, а также в базе данных.Это гарантирует, что ваш Локальный регион (т.е. PST) будет сохранен в db
2) Использовать DateTime.SpecifyKind (dateTime, DateTimeKind.Unspecified) - таким образом, тип DateTime не указывается и впоследствии сохраняется как вБД.
var timeNow = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Unspecified);
serviceClient.SaveTime(timeNow);
var dateTime = serviceClient.GetTime();
Будьте осторожны, чтобы вызвать DateTime.Now на стороне сервера.Вам лучше использовать DateTime.UtcNow.Это время не должно использоваться для бизнес-данных.В идеале вам потребуется рефакторинг вашего кода и передача DateTime или DateTimeOffset от клиента.