J'ai un problème pour convertir une date qui est au format chaîne de caractères, mais je n'arrive pas à la convertir en utilisant le format "yyyyMMdd"".
Mon code est le suivant :
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;
Pour analyser un DateTime, utilisez l'une des méthodes suivantes :
DateTime.Parse
][1]DateTime.ParseExact
][2]Vous pouvez également utiliser le motif [try-parse][5] :
DateTime.TryParse
][6]DateTime.TryParseExact
][7]En savoir plus sur [Custom Date and Time Format Strings][3].
Pour retourner une date et une heure sous la forme d'une chaîne au format "yyyyMMdd" ;, vous pouvez utiliser la méthode [ToString
][4].
Dans votre cas, en supposant que vous ne voulez pas gérer le scénario où la date a un format différent ou est erronée, il serait plus pratique d'utiliser ParseExact
:
string dateToParse = "20170506";
DateTime parsedDate = DateTime.ParseExact(dateToParse,
"yyyyMMdd",
CultureInfo.InvariantCulture);
[1] : http://msdn.microsoft.com/en-us/library/system.datetime.parse.aspx [2] : http://msdn.microsoft.com/en-us/library/system.datetime.parseexact.aspx [3] : http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx [4] : http://msdn.microsoft.com/en-us/library/k494fzbf.aspx [5] : https://msdn.microsoft.com/en-us/library/ms229009.aspx [6] : https://msdn.microsoft.com/en-us/library/System.DateTime.TryParse.aspx [7] : https://msdn.microsoft.com/en-us/library/System.DateTime.TryParseExact.aspx
D'après les noms des propriétés, il semble que vous essayez de convertir une chaîne en une date par affectation :
claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();
C'est probablement dû à la culture actuelle de l'interface utilisateur, qui ne peut donc pas interpréter correctement la chaîne de date lors de l'affectation.