Как преобразовать DateTime в / из определенного строкового формата (в обоих направлениях, например, заданный формат "yyyyMMdd")? - PullRequest
124 голосов
/ 13 августа 2010

У меня проблема с преобразованием даты и времени в строковом формате, но я не могу преобразовать его в формате "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;

Ответы [ 14 ]

2 голосов
/ 13 августа 2010

Судя по именам свойств, вы пытаетесь преобразовать строку в дату с помощью присваивания:

claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();

Вероятно, это связано с текущей культурой пользовательского интерфейса и, следовательно, не может правильно интерпретировать строку даты при назначении.

1 голос
/ 15 января 2019

Из C # 6:

var dateTimeUtcAsString = $"{DateTime.UtcNow:o}";

Результат будет: «2019-01-15T11: 46: 33.2752667Z»

0 голосов
/ 21 сентября 2016

Вы можете попробовать эти коды

claimantAuxillaryRecord.TPOCDate2  = Convert.ToDateTime(tpoc2[0]).ToString("yyyyMMdd"); 

или

claimantAuxillaryRecord.TPOCDate2 = Convert.ToDateTime(tpoc2[0]).ToString("yyyyMMdd hh:mm:ss"); 
0 голосов
/ 30 января 2014

Более простой способ, с которым я столкнулся при поиске этого ответа;

string date = DateTime.Now.ToString("yyyyMMdd", System.Globalization.CultureInfo.GetCultureInfo("en-US"));
...