Am o problema conversia unui datetime care este în format șir, dar eu nu sunt capabil de a converti folosind"aaaallzz"` format.
Codul meu este:
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;
dacă aveți o întâlnire într-un șir cu formatul "zzllaaaa" și vreau să-l convertească la "aaaallzz" ai putea face asa:
DateTime dt = DateTime.ParseExact(dateString, "ddMMyyyy",
CultureInfo.InvariantCulture);
dt.ToString("yyyyMMdd");
Pentru a analiza un DateTime, utilizați una dintre următoarele metode:
Alternativ, puteți utiliza încercați-analiza model:
Cititi mai multe despre Custom Data și Ora Format Siruri de caractere.
Pentru a reveni un DateTime ca un șir de caractere în "aaaallzz" format, poate folosi ToString
metoda.
string data = DateTime.ToString("aaaallzz");
În cazul tău, presupunând că don't vrea să se ocupe de scenariu, atunci când data este format diferit sau misssing, ar fi cel mai convenabil de a folosi ParseExact
:
string dateToParse = "20170506";
DateTime parsedDate = DateTime.ParseExact(dateToParse,
"yyyyMMdd",
CultureInfo.InvariantCulture);
Dacă vrei să ai DATA ca șir cu ORA la fel de bine. Putem face acest lucru: ``C# //Data și Ora este de a lua ca Data curentă a sistemului în Timp DateTime.Acum.ToString("aaaallzz-HHmmss");
Utilizarea DateTime.TryParseExact()
dacă doriți pentru a se potrivi cu un anumit format de dată
string format = "yyyyMMdd";
DateTime dateTime;
DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture,
DateTimeStyles.None, out dateTime);
nu sa o string cu yyyy/mm/dd și am nevoie de ea în format aaaallzz
Dacă aveți nevoie doar pentru a elimina barele de la un șir de don't doar să le înlocuiască?
Exemplu:
myDateString = "2013/03/28";
myDateString = myDateString.Replace("/", "");
myDateString ar trebui să fie acum "20130328".
Mai puțin de o nejustificată :)
L's Simplu mod de a converti în format
DateTime.Now.ToString("yyyyMMdd");
Bazat pe proprietatea nume se pare că vă sunt încercarea de a converti un șir de caractere la o data prin cesiune:
claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();
Acesta este, probabil din cauza curentului UI cultură și, prin urmare, nu se poate interpreta la data string corect atunci când a atribuit.
Un mod mai simplu am venit peste în timp ce caută pentru acest răspuns la fel de bine;
string date = DateTime.Now.ToString("yyyyMMdd", System.Globalization.CultureInfo.GetCultureInfo("en-US"));