С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/64: Рейтинг темы: голосов - 64, средняя оценка - 4.92
0 / 0 / 4
Регистрация: 28.04.2012
Сообщений: 117

Формат DateTime

19.01.2016, 10:38. Показов 12538. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как можно задать формат для типа DateTime.
Я конечно гуглил, нашел что можно вот так String.Format("{0:s}", dt); // "2008-03-09T16:05:07", мне кстати нужен именно такой формат только еще и миллисекунды т.е. 2008-03-09T16:05:07.000.

Я так же применил вот такую штуку
C#
1
 DateTime d = new DateTime(t.Year, t.Month, t.Day, t.Hour, t.Minute, t.Second, DateTimeKind.Unspecified);
, но все равно результат не удовлетворительный(или может я не понимаю чего), при отладке мне показывает см.скрин.

Мне нужно что бы в переменной createDate был именно нужный мне формат даты. Или это невозможно?
Миниатюры
Формат DateTime  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.01.2016, 10:38
Ответы с готовыми решениями:

Формат DateTime
Посмотрел как меняется формат даты при выполнении следующего кода DateTime dtIn = DateTime.Now; ...

24-часовой формат DateTime.Now
как сделать, чтобы часы были в 24-часовом формате, а не 12-часовом. DateTime.Now.ToString("hh:mm:ss "); грёбаные пиндосы с их...

DateTime.TryParse и формат 08/14/2013 06:26
Как распарсить строку времени и даты если она записана вот такой фигнёй "08/14/2013 06:26" DateTime.TryParse() возвращает что ему...

19
Модератор
Эксперт функциональных языков программирования
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,874
19.01.2016, 10:50
Лучший ответ Сообщение было отмечено Tantay как решение

Решение

В переменной DateTime сидит дата, и у неё нет никакого формата.
Формат используется функцией перевода из DateTime в string.

Добавлено через 5 минут
Цитата Сообщение от Tantay Посмотреть сообщение
мне кстати нужен именно такой формат только еще и миллисекунды т.е. 2008-03-09T16:05:07.000
C#
1
string dateString = string.Format("{0:yyyy-MM-ddThh:mm:ss.fff}", date);
1
1 / 1 / 3
Регистрация: 15.01.2016
Сообщений: 16
19.01.2016, 12:00
C#
1
2
string str = "2016.11.12"
DateTime = Convert.ToDateTime(str);
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
24.06.2017, 16:43
У меня вопрос частично касающийся темы: почему я немогу получить дату как часть типа Datetime -- Datetime.Date.
Вот есть у меня asp.net mvc апликация -- и во вьюшке --
HTML5
1
2
3
4
5
6
@foreach (var item in Model.Showall)
{
....
<td>
@Html.DisplayFor(modelItem => item.date.Date)
</td>
Я получаю в item.date.Date дату и время (00:00:00:00:000) ???
Даже если запишу в коде -- item.date.Date.Date.
То есть datetime я получаю правильный, а получить лиш дату не могу.
0
HF
 Аватар для HF
1307 / 885 / 200
Регистрация: 09.09.2011
Сообщений: 2,598
Записей в блоге: 2
24.06.2017, 17:02
Цитата Сообщение от arts1 Посмотреть сообщение
Я получаю в item.date.Date дату и время (00:00:00:00:000) ???
Даже если запишу в коде -- item.date.Date.Date.
То есть datetime я получаю правильный, а получить лиш дату не могу.
Вам нужна "Day" а не "Date"
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18245 / 14168 / 5366
Регистрация: 17.03.2014
Сообщений: 28,848
Записей в блоге: 1
24.06.2017, 17:19
arts1, свойство Date возвращает DateTime с нулевым временем, но это все еще DateTime и поэтому неявный ToString внутри Html.DisplayFor показывает и время. Добавь к свойству модели атрибут DisplayFormat
C#
1
2
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime date { get; set; }
HTML5
1
@Html.DisplayFor(modelItem => item.date)
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
24.06.2017, 18:19
DisplayFormat лутше применить к исходному значению, хотя ввожу я, с другой стороны, дату которая биндится с этим полем и время мне вообще никак не нужно, потому потом проверю.
Если же я буду отображать лиш Time в Datetime так что тогда получу 00-00-00 12:45:23:02:000 например.
0
Модератор
Эксперт функциональных языков программирования
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,874
25.06.2017, 03:09
Цитата Сообщение от arts1 Посмотреть сообщение
DisplayFormat лутше применить к исходному значению
DisplayFormat используется при преобразовании в строку, поэтому на исходное значение повлиять никак не может.
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
25.06.2017, 15:40
Анотация поля даты мало поможет ибо валидация не работает у меня пока что. Разве из практических рассуждений можна выводить лиш год, но это в принципе дела по сути не меняет, ибо непонятно для чего эти нули времени после даты если свойство выводит дату?! А date.Year вместо date.Date действительно работает.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18245 / 14168 / 5366
Регистрация: 17.03.2014
Сообщений: 28,848
Записей в блоге: 1
25.06.2017, 15:48
Цитата Сообщение от arts1 Посмотреть сообщение
ибо непонятно для чего эти нули времени после даты если свойство выводит дату?!
Поясняем еще раз для танкистов. Свойство Date возвращает DateTime. Метод ToString() который неявно вызывается внутри Html.DisplayFor превращает её в строку используя спецификатор формата по умолчанию и текущую культуру. Очевидно что используемый спецификатор формата включает в себя вывод даты и времени. Именно это он и делает. То что компоненты времени равны 0 его не касается. Раз спецификатор формата включает дату и время значит нужно выводить и то и другое. Чтобы выводилась только дата, нужно указать спецификатор формата который включает только дату. Атрибут DisplayFormat именно это и делает. Также можно отказаться от Html.DisplayFor и выводить строку напрямую с явно указанным форматом. Но это по сути то же самое решение.
0
Модератор
Эксперт функциональных языков программирования
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,874
26.06.2017, 00:19
Аналогично:
Число 1 можно отобразить так "1", а можно так "1.00". Число 1.23 можно отобразить так "1", а можно так "1.23". Как отображать - личное дело каждого.
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
26.06.2017, 22:54
У меня сейчас вопрос касательно формата даты что надо ввести вручную в текстовое поле которое биндится к свойству datetime чтобы там была и дата и часы, с минутами (да и секундами куда от них). Convert.ToDateTime(Requers["field"]). Вот в предыдущей програме ввод даты конвертировался правильно к дейтайму. Сейчас ввожу 01.11.1990 12:00:00 но отображается постоянно дефолтное значение 01.01.0001 00:00:00? Как вводить какие варианты есть для ввода на веб-странице.

Добавлено через 6 часов 3 минуты
Ну что никто не подскажет как ввести вручную datetime? Вот у меня соответствуеще свойство класа имеет nullаblе тип: Datetime? time - сперва по умолчанию null, ничего не видно на лейбле который выводит это значение. После неудачного добавление реального дейтайма я получаю уже дефолтный ненулабл вышеприведенный вариант: 00.00.0001 00:00:00. Почему? Тип поля по ходу же не меняется?
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
27.06.2017, 00:06
вот кто пропагандирует Convert.To...?через одного такое пишуть...
пользуй DateTime.Parse();
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
27.06.2017, 14:28
То и дело что использовал datetime.tryparse. Возвращает такой эксепшн - String reference is not set to instance of string. String parameter s. То есть строка Request["field"] не передается или идентифицируется как null. Разве применить tostring()? Даже если вводил лиш дату через слеш в это поле тоже ничего не возвращалось хотя в предыдущей апликация дата конвертировалась и заносилась потом в бд.

Добавлено через 10 часов 53 минуты
Не datetime.tryparse, а datetime.parse использовал.
0
Модератор
Эксперт функциональных языков программирования
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,874
27.06.2017, 15:11
Цитата Сообщение от arts1 Посмотреть сообщение
Возвращает такой эксепшн - String reference is not set to instance of string
Вы передали в метод null. Он не может распарсить этот null в валидную дату/время и кидает исключение.
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
27.06.2017, 15:58
Почему я в метод передал null?
В ConvertTo.Datetime(request["string"]) что ли тоже нулл передается -- но ConvertTo.Double(request["string"]) работает?
0
Модератор
Эксперт функциональных языков программирования
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,874
28.06.2017, 13:32
Цитата Сообщение от arts1 Посмотреть сообщение
В ConvertTo.Datetime(request["string"]) что ли тоже нулл передается
В приведённом Вами случае, очевидно, в ConvertTo.Datetime() передаётся request["string"]. И оно может быть null, а может не быть null, в зависимости от того, что содержит объект request.
0
138 / 7 / 1
Регистрация: 31.03.2015
Сообщений: 395
28.06.2017, 23:43
Дело в том что это поле ввода не конвертировало и другие типы даных, потому пришлось сперва его название sdatetime, уменьшить к dаtеtimе, а потом - dt (все безуспешно), и лиш после ребилда или нескольких подобных манипуляций - название я прежде возобновил - и успешно пропарсил дату которую пытался получить после ввода безуспешно день или два. Но возвращаясь к моему первоначальному вопросу в этой теме - снова надо бы вывести лиш дату, а возможности нету. Разве выводить поочередно год, месяц, день - с помощью этих свойств. Не думаю что эти свойства так логически неправильно работают лиш при выводе в интерфейс веб-страницы. datetime.timeofday - вообще выводить полностью дату и время.
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
29.06.2017, 00:32
C#
1
.ToShortDateString()
не работает?
1
Модератор
Эксперт функциональных языков программирования
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,874
29.06.2017, 13:37
Аналогично:
C#
1
DateTime.Now.ToShortTimeString()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.06.2017, 13:37
Помогаю со студенческими работами здесь

Перевод DateTime в 24 часовой формат
Ребята, у меня как я понял если сейчас 12-20, и пользователь в textBox введет добавление 50 минут, то получится вылет. ...

Парсинг строки в формат DateTime
Доброго времени суток, форумчане. У меня возник вопрос с парсингом строки в формат DateTime. На входе имеется строка :...

Преобразование даты в секундах в формат DateTime
Получаю дату через JSON в формате секунд {&quot;time&quot;:1436862901} public DateTime Date { get; set; } Почему сразу не...

Формат DateTime без секунд
У меня есть datagridView, в поле которого (дата) я записываю значения типа dateTime. Именно dateTime,а не строковое представление...

Неверный формат DateTime при десериализации
Здравствуйте, Вот какая проблема возникает при десериализации. Есть такой вот кусок данных &lt;param&gt;23.11.2012...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru