У меня проблема с преобразованием времени даты, которое находится в строковом формате, но я не могу преобразовать его, используя формат "yyyyMMdd"
.
Мой код таков:
string tpoc = refSubClaim.BenefitsFolder.BenefitFolderIdNumber.ToString();
string[] tpocinfo = Regex.Split(tpoc,";");
for (int i = 0; i < tpocinfo.Length; i++)
{
switch (i)
{
case 0:
{
string[] tpoc2 = Regex.Split(tpocinfo[0], ",");
claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();
claimantAuxillaryRecord.TPOCAmount2 = Convert.ToDecimal(tpoc2[1]);
claimantAuxillaryRecord.FundingDelayedBeyondTPOCStartDate2 = tpoc2[2].ToString();
}
break;
если у вас есть дата в строку в формате "с ддммгггг" и хочу, чтобы преобразовать его, чтобы "софт" вы могли бы сделать такой:
DateTime dt = DateTime.ParseExact(dateString, "ddMMyyyy",
CultureInfo.InvariantCulture);
dt.ToString("yyyyMMdd");
Чтобы разобрать DateTime, используйте один из следующих методов:
В качестве альтернативы можно использовать шаблон try-parse:
Подробнее о Пользовательские строки формата даты и времени.
Чтобы вернуть DateTime в виде строки в формате "yyyyMMdd", вы можете использовать метод ToString
.
string date = DateTime.ToString("yyyyMMdd");
.В вашем случае, предполагая, что вы не хотите обрабатывать сценарий, когда дата имеет другой формат или ошибается, удобнее всего использовать ParseExact
:
string dateToParse = "20170506";
DateTime parsedDate = DateTime.ParseExact(dateToParse,
"yyyyMMdd",
CultureInfo.InvariantCulture);
Вы можете преобразовать вашу строку в значение DateTime
следующим образом:
DateTime date = DateTime.Parse(something);
Вы можете преобразовать значение DateTime
в форматированную строку следующим образом:
date.ToString("yyyyMMdd");
Если вы хотите иметь дата а строку с время, а также. Мы можем сделать такой: ``С# //Дата и время принимается текущая дата и время системы Датавремя.Сейчас.Метод toString("по-ггггммдд-Ччммсс-то");
Использование Типа Datetime.Метод tryparseexact()` если вы хотите матч против конкретного формата даты
string format = "yyyyMMdd";
DateTime dateTime;
DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture,
DateTimeStyles.None, out dateTime);
Просто сделать на этом пути.
string yourFormat = DateTime.Now.ToString("yyyyMMdd");
Удачи в кодировании :)
нет его строку с гггг/ММ/ДД, и мне нужно ее в формате ггггммдд
Если вам нужно лишь убрать слеши из строки Дон'т вы просто их заменить?
Пример:
myDateString = "2013/03/28";
myDateString = myDateString.Replace("/", "");
myDateString теперь должно быть "на" 20130328;.
Меньше перебор :)
Это'ы простой способ конвертировать в формат
DateTime.Now.ToString("yyyyMMdd");
Судя по именам свойств, похоже, что вы пытаетесь преобразовать строку в дату путем присваивания:
claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();
Вероятно, это связано с текущей культурой пользовательского интерфейса, и поэтому он не может правильно интерпретировать строку даты при присвоении.
Из C# 6:
ВАР dateTimeUtcAsString = то"$; {Дата_время.UtcNow:о} и";
Результат будет: "в 2019-01-15T11:46:33.2752667 З"и
Вы можете попробовать эти коды
claimantAuxillaryRecord.TPOCDate2 = Convert.ToDateTime(tpoc2[0]).ToString("yyyyMMdd");
Или
claimantAuxillaryRecord.TPOCDate2 = Convert.ToDateTime(tpoc2[0]).ToString("yyyyMMdd hh:mm:ss");
Более простой способ я наткнулся во время поиска этого ответа, а также;
string date = DateTime.Now.ToString("yyyyMMdd", System.Globalization.CultureInfo.GetCultureInfo("en-US"));