文字列形式のdatetimeの変換に問題がありますが、"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;
"ddMMyyyy"という形式の文字列の中に日付があり、それを "yyyyMMdd"に変換したい場合は、次のようにします。
DateTime dt = DateTime.ParseExact(dateString, "ddMMyyyy",
CultureInfo.InvariantCulture);
dt.ToString("yyyyMMdd");
DateTimeを解析するには、以下のいずれかの方法を使用します。
あるいは、 try-parse patternを使用することもできます。
カスタムの日付と時刻のフォーマット文字列 についてもっと読んでください。
DateTimeを "yyyyMMdd"形式の文字列として返すには、 ToString
methodを使用できます。
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");
Yyyy-MM-ddの日付形式の文字列:例:
TxtCalStDate.Text = Convert.ToDateTime(objItem["StartDate"]).ToString("yyyy/MM/dd");
DATEをTIMEの文字列として使用する場合同様に。私たちはこのようにすることができます:
//Date and Time is taking as current system Date-Time
DateTime.Now.ToString("yyyyMMdd-HHMMss");
特定の日付フォーマットと照合したい場合はDateTime.TryParseExact()
を使用してください。
string format = "yyyyMMdd";
DateTime dateTime;
DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture,
DateTimeStyles.None, out dateTime);
DateTime.TryParse()
の代わりにDateTime.Parse()
を使うことができます。TryParse()
では成功した場合は戻り値が返され、Parse()
では例外を処理する必要があります。
単にこうするだけです。
string yourFormat = DateTime.Now.ToString("yyyyMMdd");
ハッピーコーディング:)
それはフォーマットに変換する簡単な方法です
DateTime.Now.ToString("yyyyMMdd");
いいえそのyyyy/mm/ddの文字列と私はyyyyMMddフォーマットでそれを必要とする
文字列からスラッシュを削除するだけでよい場合は、それらを置き換えないでください。
例:
myDateString = "2013/03/28";
myDateString = myDateString.Replace("/", "");
myDateStringは「20130328」になります。
やり過ぎの少ない:)
プロパティ名に基づいて、割り当てによって文字列を日付に変換しようとしているように見えます。
claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString();
これはおそらく現在のUIカルチャによるものなので、割り当てられたときに日付文字列を正しく解釈できません。
C#6より
var dateTimeUtcAsString = $"{DateTime.UtcNow:o}";
結果は「2019-01-15T11:46:33.2752667Z」になります。
あなたはこれらのコードを試すことができます
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"));