web-dev-qa-db-ja.com

VB.netで24時間を12時間にhh:mm AM / PMとして変換する方法

それで私が1400を持っているとしましょう、それを午後2時に変換したいと思います

私は以下を試しました:

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

そしてそれは私にこれを与えるでしょう:

2012年6月12日02:00:00 PM

日付の部分も秒も必要ありません。必要なのは午後2時だけです

どうすればこれを達成できますか?ありがとう!

8
eastboundr

ParseExactメソッドは、文字列ではなくDateTime値を返します。これを文字列変数に割り当てると、標準の書式設定を使用して自動的に変換されます。

特定の形式にしたい場合は、DateTime値を文字列としてフォーマットします。

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

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のテキスト= 2014年8月21日木曜日(または日付が何であれ)

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

Label1.Text = Now.ToLongTimeString.ToString()    (10:26:30 PM) 
1
user2786420
Dim theTime = New Date(2012, 6, 12, 14, 0, 0)
Dim formatted = theTime.ToString("h:mm tt", Globalization.CultureInfo.InvariantCulture)

カスタムの日付と時刻のフォーマット文字列

1
Tim Schmelter

これを試してください...

  Dim TimeNow As String
  TimeNow = TimeOfDay.ToString("h:mm:ss tt")
0
edCoder

これを実現するには2つの方法があります。

オプション1標準の日付と時刻のフォーマット文字列 を使用):

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

オプション2カスタムの日付と時刻のフォーマット文字列 を使用):

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

どちらの場合もconvertedTime6:30 AM

0
Dennis Traub