日付を特定の文字列にフォーマットしようとしていますが、コードが誤った結果を返しています。
CDate(RDate).ToString("ddMMy")
2桁で年を返していますが、正しい最後の桁を返すようにする方法はありますか?結果を取得するために部分文字列を使用できることは知っていますが、フォーマット文字列を使用して、顧客が独自の文字列を作成できるようにしたいと思います。
日付を特定の文字列にフォーマットしようとしていますが、コードが誤った結果を返しています。
CDate(RDate).ToString("ddMMy")
2桁で年を返していますが、正しい最後の桁を返すようにする方法はありますか?結果を取得するために部分文字列を使用できることは知っていますが、フォーマット文字列を使用して、顧客が独自の文字列を作成できるようにしたいと思います。
String.Format()でそれらを接着するだけです:
Dim dt = CDate(RDate)
Dim s = String.Format("{0}{1}", dt.ToString("ddMM"), dt.Year Mod 10)
'y'は、年が0から9の間にある場合、先行0が削除されることを示しています。年の最後の桁を取得するための形式はありません。
使用可能なカスタム形式については、 MSDNのドキュメントを参照してください。
カスタム形式の年形式は、Compentent_techがyを使用している場所に言及し、年が00から09で終わる場合を除いて、最低2桁の年を返すように制限されています。MSDNドキュメントを確認できます。目的を達成するには、文字列操作を使用する必要があります。
その事実を利用して、このようなことを試すことができます。
Dim RDate As Date = Now.Date
Dim NDate As Date = New Date((RDate.Year Mod 10), RDate.Month, RDate.Day)
CDate(NDate).ToString("ddMMy")
このコードを試してください:
Dim dt As DateTime = DateTime.Now
CDate(dt).ToString("ddMMyy").Remove(4, 1)
このコードは、2桁の年の値の最初の値を削除します。