2015-10-05 3 views
0

Наш предыдущий разработчик создает универсальный метод, который извлекает все пользовательские данные, которые имеют обновление/изменения. это выглядит следующим образом (на стороне пользователя/JavaScript/Кендо):asp.net получить исходное значение даты, преобразованное JSON.stringify

param._updated = JSON.stringify(rows._updated); 

Я как-то отчаянный, что, когда это * rows._updated содержит Дата валютирования дядя JSON преобразовать его в другой формат строки, которая приведет к DateTime разница, например:

dateField = 11/1/2015 // <--Original User Input 
rows._updated = { dateField: November 1, 2015 0:00:00 GMT+080 ... } 
param._updated = { "dateField": "2015-10-31T16:00:00.0000Z"... } 

, который теперь будет приводить к конфликту. , поскольку указанный выше код был общим полем, которое может содержать разные данные и тип, я пытаюсь решить эти проблемы на стороне сервера, но мне не удалось достичь исходного значения даты.

ПРИМЕЧАНИЕ: наши пользователи имеют 2-5 разных часовых поясов, поэтому их трудно конвертировать. вопросы, связанные с: here

Попадание в прошлое. Заранее спасибо!.

ответ

0

я каким-то образом добиться того, что я хочу с помощью следующего подхода

1.) На внутреннем интерфейсе Преобразование DateTime в формате UTC Формат

string dateUTC = paramDate.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"); 

2.) Теперь я создал метод, обрабатывающий конвертация UTC Дата в PlainDate

 public static string UTCtoPlainDate(string dateUTC) 
    { 
     if (string.IsNullOrEmpty(dateUTC)) return ""; 
     DateTime dateTime; 
     // Assume date in UTC format, e.g. '2015-03-31T12:00:00.000Z' 
     DateTime.TryParseExact(dateUTC, "yyyy-MM-dd'T'HH:mm:ss.fff'Z'", System.Globalization.CultureInfo.InvariantCulture, 
      System.Globalization.DateTimeStyles.AssumeUniversal, out dateTime); 

     return dateTime.ToString("yyyy-MM-dd") ?? ""; 
    } 
Смежные вопросы