我知道很多關於此的問題已經得到解答。我已經嘗試了大約3個小時,但沒有運氣。我使用角UI日期時間選擇器,該格式是如何解析一個angular-ui dateTime字符串到c#datetime
「2015-02-08T06:00:00.000Z」
錯誤消息是串未被識別爲一個日期時間
在System.DateTimeParse.ParseExact(字符串s字符串格式的DateTimeFormatInfo dtfi,DateTimeStyles風格) 在System.DateTime.ParseExact(一個String,字符串格式,提供的IFormatProvider) 在TransparentEnergy.Controllers.apiDocumentController.d__2.MoveNext( )在C:\開發\ TransparentEnergy \ TransparentEnergy \ ControllersAPI \ apiDocumentController.cs:行67
控制器
string docDate = provider.FormData["DocumentDate"];
model.DocumentDate = DateTime.ParseExact(docDate, "yyyy-MM-dd'T'HH:mm:ss'Z'", CultureInfo.GetCultureInfo("en-US"));
角UI
$scope.open = function ($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
$scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
$scope.format = $scope.formats[3];
更新
string docDate = provider.FormData["DocumentDate"];
model.DocumentDate = DateTime.ParseExact(docDate, "yyyy-MM-dd'T'HH:mm:ss.fff'Z'", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
沒有理由。只是嘗試了不同的例子。這是時間格式在字符串docDate斷點「\」2015-02-03T06:00:00.000Z \「」 – texas697 2015-02-08 22:03:09
DateTime.Parse(「2015-02-08T06:00:00.000Z」)。ToUniversalTime( )給出了相同的錯誤 – texas697 2015-02-08 22:08:36
@ texas697所有代碼示例都會給出錯誤。原因是字符串中的引號。我同意Jon Skeet所說的那些引用應該在那裏。理想情況下,你應該擺脫源自己的引用。但是,如果你想暫時修補代碼,你可以使用DateTime.Parse(「\」2015-02-03T06:00:00.000Z \「」。修剪('「')),即DateTime.Parse docDate.Trim(''')) – 2015-02-08 22:10:43