Вопрос по javascript, .net, date – Конвертировать дату JavaScript в .NET DateTime

8

Я получаю значение Date из JavaScript для контроллера в MVC, и я хотел бы проанализировать его в формате .NET DateTime, но оно дает мне ошибку, такую как:

The string was not recognized as a valid DateTime.

Формат даты JavaScript:

"Wed May 23 2012 01:40:00 GMT+0200 (W. Europe Daylight Time)"

Я пробовал это, но это не работает:

DateTime.ParseExact(begin.Substring(1, 24), "ddd MMM d yyyy HH:mm:ss", CultureInfo.InvariantCulture);

Кто-нибудь может дать мне пример кода, пожалуйста? Спасибо!

Ваш Ответ

4   ответа
2

JS Datevar d = new Date()

Возвращает: Чт 19 ноября 08:30:18 PST 2015

C # не нравится этот формат, поэтому конвертируйте его в UTC:

var dc = d.toUTCString()

Возвращение: Четверг, 19 ноября 2015 года, 16:30:18 UTC

UTC & # x2013; Мировой стандарт времени не является часовым поясом, поэтому вам нужно изменить его на часовой пояс

var cr = dc.replace("UTC","GMT")

теперь он готов к

Четверг, 19 ноября 2015 г. 16:30:18 GMT

В одну строку

var ol = d.toUTCString().replace("UTC","GMT")`

Четверг, 19 ноября 2015 г. 16:30:18 GMT

для C #

DateTime DateCreated= DateTime.Parse(ol);
12

нию в контроллере .NET MVC:

var myJsDate = new Date();
var myDotNetDate = myJsDate.toISOString();
это работает отлично и более кратко
Это должен быть принятый ответ
6

ьDateTime вместо временной отметки. Чтобы получить метку времени от JSDate:

var msec = date.getTime();

И конвертироватьmsec (который представляет количество миллисекунд) вDateTime:

var date = new DateTime(1970, 1, 1, 0, 0, 0, 0); // epoch start
date = date.AddMilliseconds(msec); // you have to get this from JS of course
Из .NET 4.6 использоватьDateTimeOffset.FromUnixTimeMilliseconds(msec).DateTime
1

привязка модели DateTime по умолчанию в контроллере .NET MVC прекрасно работает с объектом JavaScript Date.

С помощьюMoment.js

1) .NET DateTime -> JavaScript Date

var jsDate = moment(dotNetDateTime).toDate();

2) JavaScript Date -> .NET DateTime

var dotNetDateTime = jsDate;

Похожие вопросы