0

日付を特定の文字列にフォーマットしようとしていますが、コードが誤った結果を返しています。

CDate(RDate).ToString("ddMMy")

2桁で年を返していますが、正しい最後の桁を返すようにする方法はありますか?結果を取得するために部分文字列を使用できることは知っていますが、フォーマット文字列を使用して、顧客が独自の文字列を作成できるようにしたいと思います。

4

4 に答える 4

2

String.Format()でそれらを接着するだけです:

    Dim dt = CDate(RDate)
    Dim s = String.Format("{0}{1}", dt.ToString("ddMM"), dt.Year Mod 10)
于 2012-08-08T01:28:07.327 に答える
1

'y'は、年が0から9の間にある場合、先行0が削除されることを示しています。年の最後の桁を取得するための形式はありません。

使用可能なカスタム形式については、 MSDNのドキュメントを参照してください。

于 2012-08-08T01:06:42.887 に答える
1

カスタム形式の年形式は、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")
于 2012-08-08T01:07:43.307 に答える
0

このコードを試してください:

Dim dt As DateTime = DateTime.Now

CDate(dt).ToString("ddMMyy").Remove(4, 1)

このコードは、2桁の年の値の最初の値を削除します。

于 2012-08-08T04:03:50.770 に答える