• ベストアンサー

数値から日付書式へ

初めて投稿します。 javaの初心者です。 現在、jspファイル内で、数値型の値を時間書式に変換して、リンクボタンに出力しようと思っています。 例: jspファイル内で    int time = 630; とあるものを、 実行時には   06:30 と表示したいと思っています。 どういう方法があるのか教えていただきたいと思います。 よろしくお願いします。

noname#121762
noname#121762
  • Java
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • mintia007
  • ベストアンサー率59% (16/27)
回答No.2

int time = 630; DecimalFormatSymbols dfs = new DecimalFormatSymbols(); dfs.setGroupingSeparator(':'); //←ここにお好みの区切り文字をセット DecimalFormat df = new DecimalFormat("00,00"); df.setDecimalFormatSymbols( dfs ); System.out.println( df.format( time ) ); //結果表示

noname#121762
質問者

お礼

回答ありがとうございます。 やっぱり、複数行書かないと駄目みたいですね・・・・ 共通のクラスに教えていただいたような変換メソッドを作成して、 それを使用するのが一番よさそうですね・・・ ありがとうございました。

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

一番簡単なのは int hour = time/100; int minute = time - hour*100; print(hour+":"+minute); とすることね。

noname#121762
質問者

お礼

回答ありがとうございます。 C#みたいに「[数値型変数].toString("0000/00/00")」というのが理想でしたが、javaでは簡単には出来なさそうですね。 色々試してみたいと思います。

関連するQ&A

  • Javaでの書式変換

    Javaでの書式変換について質問です。 JavaでTime型として値が"13:00:00"であるようなデータを保持している場合に、"13時0分"という文字列に変換された値を取得しようとしています。 要求としては、 1)"13:00:00"のようなTime型のデータを"13時0分"という文字列にしたい。 2)1時間未満の場合は"○分"という文字列にしたい。 Javaで独自に処理を書くしかないか迷っている状態です。 もし良いライブラリがあれば教えていただけないでしょうか?

    • ベストアンサー
    • Java
  • 数値のパック10進数の変換について(vb6)

    こんにちは 現在、vb6で開発を行っております。 早速ですが、困っていることがあります。 データベースを読み込んで、その値をテキストファイルに出力しているのですが、ある項目(数値)だけパック10進数に変換して出力しなければなりません。 いろいろなサイトを調べた結果、 例:数値で432 は "0100001100101100" のように変換できることがわかりました。しかし、この時点ではただの文字列のためこの値をテキストファイルに出力しても意味がありません。パック10進数のコード(?)としてテキストファイルに出力するにはこの後、どのようにすればいいのでしょうか。 ご存じの方がいらっしゃれば、ご教授願えないでしょうか?

  • 日付書式に変換でこまっています!

    文字型を日付型に変えるTO_DATE関数ってありますよね。 もともとのデータは数値型(NUMBER型)だったとしたら、 その数値型を日付型に変換するためには、 例)TO_DATE(TO_CHAR(20001201),'YYYY/MM/DD'))で実行すれば、 結果は、「2000/12/01」になりますよね? しかし、ここで問題なのがもともとのデータの数値型の初期値が0で設定されていて、なおかつその行も結果として出したい場合どうしたらいいのかわかりません。 例が解りにくくてすいません! 何か解決法がありましたらぜひ教えて下さい!

  • TransferSpreadsheetでの数値丸め

    前回の質問と関連がありますのでご参考下さい TransferSpreadsheetでの指数表記 https://okwave.jp/qa/q10095442.html Access上のVBAにてTransferSpreadsheetを利用して Excelを読み込みテーブルに表示させているのですが、 以下書式条件だと何故か数値が丸められ正しくない値が読み込まれます。 例1 1行目(ヘッダ)文字列 2行目 数値(書式:数値) 3行目 数値(書式:文字列) 結果1 2行目の値が丸められてAccessのテーブルに取り込まれます。 例2 1行目(ヘッダ)文字列 2行目 数値(書式:数値) 3行目 数値(書式:数値) 結果2 この場合はどちらも丸められず、正しい数値が取り込まれます。 Excelの書式で文字列と数値が混在した時限定の挙動の様です。 取り込み元のExcelは編集不可になります。 数値を丸められず正しく読み込む方法はありますか?

  • エクセル内の数値が突然和暦日付表記に変わった。

    WIN10でエクセル2016を使っています。1シート内にかなりの文字列や数値の入ったシートで、突然数値のセルが和暦の年月日表示に変わってしまいました。数値については、直接打ち込んだもの、他のセルを参照に関数計算結果を表記したものなどです。 このファイルは数年間使っているもので、同じファイル内の別シートも変わっていました。 とりあえず、変換されたセルを選択し、「セルの書式設定」「表示形式」から「標準」を選択すれば元に戻りました。 ちなみに、他のエクセルファイルは大丈夫でした(たぶん) また、変換されたセルの「ユーザー定義」を確認すると、覚えのない内容の定義がされていました。 ネットで調べると、結構以前から発生していたようで、色々な方からの助言が投稿されていましたが、肝心のマイクロソフトからの正式なコメントが見当たりません。 マイクロソフトとしては、確認していないのでしょうか。それともどこかにコメントがあるのでしょうか。

  • Borland C++で数値ファイルに落としたい.

    フリーソフトのBorland C++ Compiler 5.5を使用しています. RLC回路の数値解析をするために適当なエディタでプログラムを書き,ソースファイルをコンパイルするところまではできました. それを実行後,画面に出力された数値を眺め、適当な値になったのは確認できましたが, 出てきた数値を数値ファイルとしてファイル( .dat かな?)に落としたいのですが方法がわかりません. この先,その数値ファイルをepsファイルに出力して,TeXに取り込みたいのです. よろしくお願いします.

  • IEのブックマークの日付書式

    IEのブックマークをhtmlファイルにエクスポートして見ると、各ブックマークのリンクとともに、日付(らしき数字)が記録されているのですが、この日付の書式が分かりません。 LAST_MODIFIED="1126274547" と、上記のような数字が日付を表しているようなのですが、これはどのような数字なのでしょうか? タイムスタンプ?ミリ秒? 自作ソフトでブックーマークを生成する機能をつけようと思ったため、質問させていただきました。 よろしくお願いします。

  • 数値データを書式毎に表示結果を加工する処理方法について

    開発環境は、VisualC++6(SP3)です。 【数値データ】を書式毎に表示結果を加工する処理について、 独自処理PGを作成しました。 (Excelセル書式の表示書式-ユーザ定義で「#,###」等の様に、  指定された書式へ変換する事) が、不具合が多く困っております。 (独自PGということもありパターンによってはExcel通りに動かない) これを、独自処理などではなく、例えば、 MFCのクラスとかAPIなどその他を使って、 正確にExcelの表示書式に近い加工処理を行うPGの方法について あるいはヒントなどございましたら、ご教示くださいませ。 (変換例(1))  書式  :#,###.#  実データ: 1987.65     ↓  加工後 :1,987.7  (Excelと同じ動き) (変換例(2))  書式  :#,##0.00  実データ:-20000     ↓  加工後 :-20,000.00 (Excelと同じ動き)

  • 数値をTIME型に変換して抽出したい

    数値をTIME型に変換して抽出したい 少数を含む数値を次のようにTIME型に変換して抽出したいのですが、 CREATE TABLE timetbl ( id INT PRIMARY KEY AUTO_INCREMENT, time double ) ENGINE=InnoDB; [timetbl] id  time 1   3601.999 【得たい結果】 [timetblのid] [timetblのtimeをTIME形式に]   1         01:00:01.999 どのようなSQL文を記述すれば良いのでしょうか?

    • ベストアンサー
    • MySQL
  • 日付型のテキストボックスに数値を入れて日付にしたい

    アクセスのフォームの上にテキストボックスがあり、 書式はyyyy/mm/dd(aaa)になっています。 日付型の値を入力した際は問題ないのですが 例えば、20130720と入力したら、 このフィールドに入力した値が正しくありません。 例えば、数値型のフィールドに文字列を入力しました。 となります。 なので、 Private Sub 日付_BeforeUpdate(Cancel As Integer) If Len(Me.ActiveControl.Value) = 8 Then Me.ActiveControl.Value = Format(Me.ActiveControl.Value, "yyyy/mm/dd") End If End Sub としてみたのですが、 更新前処理イベントが発動する前に、 「このフィールドに入力した値が正しくありません。 例えば、数値型のフィールドに文字列を入力しました。」 のエラーが出てしまうようです。 20130720の形の日付を入れても自動で日付型に変換するの方法はありますか?

専門家に質問してみよう