Поле C # DateTime не форматируется

Вы можете попробовать это:

var wrap = document.createElement('div');
var scr = document.createElement('script');
scr.src = scriptUrl;
scr.type = 'text/javascript';
wrap.appendChild(scr);
document.body.appendChild(wrap);

Создав тэг сценария явно, вы сообщаете JS, что innerHTML не является текстом, а вместо этого является исполняемым скриптом.

-1
задан SeM 17 January 2019 в 11:43
поделиться

2 ответа

Вы должны Convert прочитать значение (обратите внимание, что vo2.Rows[0]["Start"] имеет тип object, когда вы хотите DateTime):

 DateTime thisdate = Convert.ToDateTime(vo2.Rows[0]["Start"]);

 // MM - if you want leading zero; note, that "mm" stands for minutes
 line.Cells[5].Value = thisdate.ToString("dd/MM/yyyy");

Объяснение того, что происходит:

  1. vo2.Rows[0]["Start" имеет тип object
  2. new DateTime(long ticks) хочет один long аргумент
  3. Компилятор жалуется на аргумент ] тип задан (если вы вызываете конструктор с one , он должен иметь тип long)
0
ответ дан Dmitry Bychenko 17 January 2019 в 11:43
поделиться

Вы получаете ошибку, потому что конструктор DateTime занимает много времени, но вы передаете объект:

DateTime thisdate = new DateTime(vo2.Rows[0]["Start"]);

Я думаю, что первый столбец в DataTable уже a DateTime, затем используйте это:

DateTime thisdate = vo2.Rows[0].Field<DateTime>("Start");

В противном случае вы должны проанализировать его, например:

string dtVal = vo2.Rows[0]["Start"].ToString(); // 3/9/2019 8:00:00
DateTime thisdate = DateTime.ParseExact(dtVal, "d'/'M'/'yyyy h:mm:ss", null);

или даже проще, потому что с этим вводом вам не нужно ParseExact но вы можете использовать Parse:

DateTime thisdate = DateTime.Parse(dtVal);
0
ответ дан Rango 17 January 2019 в 11:43
поделиться
Другие вопросы по тегам:

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