1

私は vb.net 2010 を使用しています。現在の年の下 2 桁を抽出したいと考えています。
たとえば、2013 は 13
を返す必要があります。次のコードを使用しています。

Dim sid_1 As String = Year(Now) 'or Year(Now).ToString
sid_1 = sid_1.Substring(sid_1.Length, 2)  'highlighted error

しかし、それはエラーを返します:

ArgumentOutOfRangeException was unhandled  
Index and length must refer to a location with the string.  
Parameter name: length
4

4 に答える 4

1

おそらく次のようになります。

sid_1.Substring(sid_1.Length - 2, 2)
于 2013-02-15T06:14:28.850 に答える
1

String.Substring()の最初のパラメーターは、関数が取得を開始するインデックスです。既に文字列の境界外にあるため、長さではありません。

Datein形式の年の下2桁のみが必要な場合は、String代わりに次のコードをお勧めします。

sid_1 = Date.Now.ToString("yy")

Date.Tostring()メソッドの全機能については、 MSDN ドキュメントを参照してください。

于 2013-02-15T06:20:59.193 に答える
0

これを使って :

DateTime dt = DateTime.Now;
Console.WriteLine(dt.ToString("yy"));
于 2013-02-15T06:22:40.277 に答える
0

なぜSubStringですか?を使用するだけでStartIndex = 213 :D

    Dim sid_1 As String = Year(Now) 'or Year(Now).ToString
    sid_1 = sid_1.Substring(2)  'highlighted error
    MsgBox(sid_1.ToString())
于 2013-02-15T06:26:49.133 に答える