2012-06-12 20 views
6

それでは、私が1400を持っているとしましょう、私は午後2:00HHとしてVB.netで12時間まで24時間の時間を変換する方法:ミリメートルのAM/PM

に変換したい、私は次のことを試してみました:

私はしたくない

2012年6月12日2時00分○○秒PM

Dim convertedTime As String = DateTime.ParseExact(theTime,"HHmm", Nothing) 

そして、それは私にこれを与えるだろう日付部分も、秒も必要ない。私が必要なのは午後2時です

どうすればいいですか?ありがとう!

+0

ParseExactは文字列を返しません。 Option Strict Onをお持ちですか? –

答えて

10

ParseExactメソッドは、文字列ではなくDateTimeの値を返します。文字列変数に代入すると、自動的に変換され、標準の書式が使用されます。

あなたが特定の形式でそれをしたい場合は、文字列としてDateTime値をフォーマット:

Dim d As DateTime = DateTime.ParseExact(theTime,"HHmm", Nothing); 
Dim convertedTime As String = d.ToString("hh:mm tt") 
+0

魅力のような感謝の仕事〜 – eastboundr

0

これを達成するための2つの方法があります。

オプション1standard date and time format stringsを使用):

Dim theTime As DateTime = new DateTime(2008, 4, 10, 6, 30, 0) 
Dim convertedTime As String = 
    theTime.ToString("t", CultureInfo.CreateSpecificCulture("en-us")) 

オプション2(使用custom date and time format strings):両方の場合において

Dim theTime As DateTime = new DateTime(2008, 4, 10, 6, 30, 0) 
Dim convertedTime As String = theTime.ToString("hh:mm tt") 

convertedTimeであろう6:30 AM

+0

'en-us'カルチャは必要ありません。' CultureInfo.InvariantCulture'を使うことができます。 –

+1

@TimSchmelter CultureInfo.InvariantCultureを使用している場合、標準フォーマット文字列 't'はAM/PMを返しません。 https://compilify.net/1u5を参照してください –

+0

申し訳ありませんが、私はオプション1と2の違いを見落としました。 –

1
Dim theTime = New Date(2012, 6, 12, 14, 0, 0) 
Dim formatted = theTime.ToString("h:mm tt", Globalization.CultureInfo.InvariantCulture) 

Custom Date and Time Format Strings

+0

1400の部分を解析するコードがありません。 – JDB

+0

@ Cyborgx37:それはこの質問の誤った部分です。実際にOPは1400をDateTimeに解析する上で問題はありません:_ "...そして、それは私にこれを与えるだろう:6/12/2012 02:00:00 PM 私は日付の部分が欲しくない、秒も必要ない。私が必要とするのは午後2時です "_彼はちょうどDateTime変数を正しいフォーマットの文字列に変換したい。 –

1

Label1.Text = Format(Now, "hh:mm"):のLabel1のテキスト= 10時26分(または何時間がある)

Label1.Text = Format(Now, "hh:mm tt"):ラベルのテキスト= 10時26分PM

Label1.Text = Format(Now, "dddd dd, MMMM, YYYY"):のLabel1のテキスト=木曜日21 8月、 2014(または任意の日付がある)

+0

あなたの答えを読みやすくするために、適切な書式設定(インラインコードのバッククォート)を使用することを忘れないでください。 [ヘルプ](http://stackoverflow.com/help)を開き、エディタツールバーをテストして、可能なものを見てください。 – TimWolla

1
Label1.Text = Now.ToShortTimeString.ToString() (10:26 PM) 

Label1.Text = Now.ToLongTimeString.ToString() (10:26:30 PM) 
0

...これを試してみてください
Dim TimeNow As String 
    TimeNow = TimeOfDay.ToString("h:mm:ss tt") 
関連する問題