abdul subhan mohammed Ответов: 2

Как преобразовать javascript date в C#?


Привет Ребята,

Я хочу преобразовать javascript date в c#.

В моем asp.net веб-приложение, я храню значения в скрытых полях.

Затем это значение hdn.value я пытаюсь преобразовать в DateTime в C#.

Но получаю ошибку как "строка не является правильной форме"

eg: date from javascript: "2016-09-05"


Что я уже пробовал:

string[] scheduleDates = hdnScheduleDates.Value.Split(',');
string dt = scheduleDates[0].Replace("-", "/");
DateTime StartDate = DateTime.ParseExact(dt, "dd/MM/yyyy", CultureInfo.InvariantCulture);


кто-нибудь может мне помочь?


Спасибо

2 Ответов

Рейтинг:
19

OriginalGriff

Ваша дата и формат, который вы пытаетесь разобрать, не совпадают:

eg: date from javascript: "2016-09-05"

DateTime.ParseExact(dt, "dd/MM/yyyy",...

Попробуйте изменить формат на "гггг-ММ-ДД", и это должно сработать.
Но я бы настоятельно рекомендовал вместо этого использовать TryParseExact - он возвращает код успеха/сбоя boll вместо того, чтобы выдавать исключение, когда формат не совпадает.


Рейтинг:
11

Karthik_Mahalingam

Нет необходимости заменять '-' на '/'

DateTime StartDate = DateTime.ParseExact(scheduleDates[0], "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);


abdul subhan mohammed

большое спасибо!

Karthik_Mahalingam

Добро пожаловать

abdul subhan mohammed

Привет, Картик, я иду на свидание, но со временем. Я просто хочу короткое свидание, как я могу это сделать,
пожалуйста, дайте мне знать. Спасибо

Karthik_Mahalingam

Воспользуйся.ToShortString ()

abdul subhan mohammed

публичный список<datetime & gt; планировщик
{
get { return ScheduleDates.Расщеплять(',').Выберите (item = & gt; DateTime.ParseExact (item, "yyyy-MM-dd", System.Глобализация.CultureInfo.Инвариантная культура).ToShortDateString()).Вызова метода toList(); //ошибка не удается неявно преобразовать список<строка> В список<datetiem&ГТ;
}

набор
{
ScheduleDates = ScheduleDates.Удалить (ScheduleDates.Длина - 1);
}
}

Karthik_Mahalingam

Создайте его как строку и сохраните как короткую строку