venkataramana k Ответов: 2

Как мы можем найти формат даты excat автоматически


Пример: 2016-05-05 какая из них "дата", какая "месяц" в данном случае, как мы можем точно определить, может ли кто-нибудь мне помочь

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

Пример: 2016-05-05 какая из них "дата", какая "месяц" в данном случае, как мы можем точно определить, может ли кто-нибудь мне помочь

Richard MacCutchan

Вы не можете идентифицировать его, вам просто нужно знать, в каком формате он должен быть.

njammy

Это единственный фрагмент данных, который у вас есть в строковом формате или DateTime?

Tanmoy banerjee

Объясните подробнее; где вам это нужно; если Программирование windows, то вы можете перейти к реестру или к настройкам окружающей среды. Если база данных, то перейдите к отметке времени. Укажите, где вам это было нужно.

Karthik_Mahalingam

2016-05-05
2016 год-это точно год
но месяц и дата зависят от формата, который вы где-то указали, о котором не говорите.

2 Ответов

Рейтинг:
1

F-ES Sitecore

Если вы не знаете, что такое месяц и день, то как код должен знать? В этом конкретном формате это с вероятностью 99% будет гггг-ММ-ДД. Однако вы будете знать наверняка, только если посмотрите на код, который сгенерировал строку. Помните, что "2016-05-05" - это строка, а не дата. Когда-то это была дата, пока кто-то не преобразовал ее в строку, и когда они это сделали, они продиктовали, какой формат должна принять строка. Если вы хотите превратить эту строку обратно в дату, вам нужно знать, каков был ее формат.

При работе с датами в виде строк всегда придерживайтесь известного, предпочтительно однозначного формата. Технически гггг-ММ-ДД-это однозначный формат SQL, но лично я предпочитаю "ДД МММ гггг", что означает "16 августа 2016 года".

SQL Server однозначные строки даты - Мэтт Рэндл[^]

Какой формат вы выберете, на самом деле не имеет значения, вам просто нужно убедиться, что он универсален во всей вашей системе.


ridoy

5-е изд.

Рейтинг:
1

Maciej Los

Ну... с точки зрения программирования  дата есть дата  и ничего больше! Формат даты зависит от настроек локали. Видеть:
Глобализация шаг за шагом: форматирование даты[^]
Стандартные строки формата даты и времени[^]
Пользовательские строки формата даты и времени[^]
Форматирование даты и времени для конкретной культуры[^]

Таким образом, независимо от формата даты, вы должны быть в состоянии преобразовать строку в дату с помощью значение datetime.Метод TryParse (String, DateTime) (System)[^]:

string customDate = "2016-05-05";
DateTime outDate = new DateTime(1901,1,1);

if (DateTime.TryParse(customDate, out outDate))
{
	Console.WriteLine("Result date: '{0}'", outDate);
}
else
{
	Console.WriteLine("Conversion from '{0}' to date failed!", outDate);
}


ridoy

5ед.

Maciej Los

Спасибо.