• ベストアンサー

秒の変換について困っています。

秒の変換について困っています。 やりたいことは、テキストボックス txtText1に「4830」と入力し、ボタン btnHenkanを押すと、lblText1に「1時間20分30秒」と表示させたいです。 やり方が分からず困っています。 使用している環境は、VB.Netは2005です。 ご教授願えますようお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

http://www.atmarkit.co.jp/fdotnet/dotnettips/329timeformat/timeformat.html Private Sub btnHenkan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHenkan.Click   Dim tspan As New TimeSpan(0, 0, 4830)   lblText1.Text = String.Format("{0}時間{1}分{2}秒", tspan.Hours, tspan.Minutes, tspan.Seconds) End Sub

smztmk
質問者

お礼

出来ました。 みなさん、アドバイスを頂きありがとうございました。

その他の回答 (4)

  • hanmemomo
  • ベストアンサー率35% (205/580)
回答No.5

VBはわかりませんが。 単純に hour=base/(60*60*1); min=base/(60*1); sec=base/1;/*要するにいらない*/ で、クリッピング処理をします。 hour%=24;/*例24時間表記*/ min%=60; sec%=60; これを表示に転送すればOKですね

回答No.4

連投すいません。 デバッグコード残ってた。。。。 String.Format("{0}時間{1}分{2}秒{3}", Math.Floor(tspan.TotalHours), tspan.Minutes, tspan.Seconds, tspan.Days) ↓ String.Format("{0}時間{1}分{2}秒", Math.Floor(tspan.TotalHours), tspan.Minutes, tspan.Seconds)

回答No.3

#2です。 スパン.Hours をそのまま使うと、24時間以上だと日に繰り上がっちゃいますね。 スパン.TotalHours を使用するようにして、分以下を切り捨てるように改造しました。 String.Format("{0}時間{1}分{2}秒{3}", Math.Floor(tspan.TotalHours), tspan.Minutes, tspan.Seconds, tspan.Days)

回答No.1

ヒント  (4830×60)/(60×60×60)≒1 時間 ((4830×60)-(60×60×60))/(60×60)≒20 分 ((4830×60)-((60×60×60)+(60×60×20))/60=30 秒

関連するQ&A