• 締切済み

FormatStyle

java.time.format.FormatStyleの実例がほしいです。 SHORTを指定しても、年月日が表示されたりするのでAPIドキュメントを見ても参考になりませんでした。↓ ------------------------------------------------------------------------------------------- SHORT public static final FormatStyle SHORT 短テキスト・スタイル。通常は数値です。たとえば、「12.13.52」や「3:30pm」などのフォーマットが該当します。 -------------------------------------------------------------------------------------------

  • Java
  • 回答数2
  • ありがとう数0

みんなの回答

回答No.2

>回答No.1 amanojaku1 import java.time.LocalDate; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; import java.util.Locale; 時間の表示です(MEDIUM)。 System.out.println("LocalTime:MEDIUM:"+LocalTime.now().format(DateTimeFormatter.ofLocalizedTime(FormatStyle.MEDIUM).withLocale(new Locale("ja", "JP")))); 表示結果 >LocalTime:MEDIUM:20:28:27

回答No.1

日付の表示です。 System.out.println("LocalDate:FULL:"+LocalDate.now().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL).withLocale(new Locale("ja", "JP")))); System.out.println("LocalDate:LONG:"+LocalDate.now().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG).withLocale(new Locale("ja", "JP")))); System.out.println("LocalDate:MEDIUM:"+LocalDate.now().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM).withLocale(new Locale("ja", "JP")))); System.out.println("LocalDate:SHORT:"+LocalDate.now().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).withLocale(new Locale("ja", "JP")))); 時間の表示です。 System.out.println("LocalTime:SHORT:"+LocalTime.now().format(DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT).withLocale(new Locale("ja", "JP")))); >LocalTime.now().format( ↑「LocalTime」になっている事に注意して下さい。 >DateTimeFormatter.ofLocalizedTime( ↑「ofLocalizedTime」になっている事に注意して下さい。 表示結果 >LocalDate:FULL:2017年10月27日 >LocalDate:LONG:2017/10/27 >LocalDate:MEDIUM:2017/10/27 >LocalDate:SHORT:17/10/27 >LocalTime:SHORT:20:10

関連するQ&A

  • enum型

    お世話になります。 Javaのenum型に関してお聞きしたいです。 JavaのAPIドキュメントを見ると、enumのvalueOfメソッドに関して、 以下のように記述がありますが、具体的にどのように使用するので しょうか? public static <T extends Enum<T>> T      valueOf(Class<T> enumType,String name) どうかよろしくお願いします。

  • formatメソッドについて

    こんばんは。皆様、今回も宜しくお願い致します<(_ _)> 例えば1という値を渡したら、「001」というように表示させてたくて、下記のようなソースを作成してみました。 import java.text.*; class Main{ public static void main(String args[]){ DecimalFormat fmt = new DecimalFormt(); fmt.setMaximumIntegerDigits(3); fmt.setMinimumIntegerDigits(3); String str = fmt.format(1); System.out.println(str); } } これを実行すると「001」というように、私の希望通りに表示されます。 でも String str = fmt.format(1); の部分を String str = fmt.format("1"); と変更すると下記のエラーが出力されます。 Exception in thread "main" java.lang.IllegalArgumentException: Cannot format giv en Object as a Number at java.text.NumberFormat.format(NumberFormat.java:219) at java.text.Format.format(Format.java:133) at Main.main(Main.java:8) そこでJavaのリファレンスを見て、疑問を持ちました。 リファレンスにはFormatクラスのformatメソッドの引数はオブジェクトになってます。 ということはむしろエラーになったほうが正しくて(String=オブジェクトだから)、普通に実行できたほうがおかしいんじゃないか?(数値=基本型だから)と思ったのです。 どうしてエラーがでるのか、どうしてオブジェクトを渡していないのに普通に実行できるのか、わかる方がいらっしゃったら教えて下さい。 宜しくお願い致します<(_ _)>

    • ベストアンサー
    • Java
  • JavaでのAPIの覚え方ってみさなんどうされてますか?

    初めまして。最近Javaを勉強し始めたんですが、 友人に聞いたところ短期間にJavaが理解出来るコツは 『Java (TM)2 SDK ドキュメント(API仕様)』を読みながら 次の順番でサンプルを作りながら主要なパッケージを覚えて行けばいいんじゃない? と言われました。 (1)JAVA.LANG (2)JAVA.IO (3)JAVA.UTIL (4)JAVA.NET (5)JAVA.TEXT (6)JAVA.STRING (7)JAVA.MATH 必死でメソッドやインターフェース等のサンプルを作っている所なのですが、 同じような単語があったり、継承関係が複雑だったり。。。 頭の中で整理出来ず、ただ闇雲にやっているだけのような感じがしてきました。 皆さんはどのような工夫や方法でAPIを覚えて行きましたか? 是非ご回答の程お願いします。

    • ベストアンサー
    • Java
  • DecimalFormatの形式について

    java.text.NumberFormat#parse(String)を使って、 (実際にはjava.text.DecimalFormatを使っています) Stringからlongへの変換を行おうとしています。 その際、入力パターンとして符号つき整数を受け付け、 かつ符号がないときは正として扱おうとしていますが、 そのようなパターンの記述方法がわかりません。 負のときはいいんですが、正のときの場合において +をつけなければいけないか、つけてはいけないか、 どちらかのパターンしか記述ができません。 Long#parseLong(String)も、+がついていると java.lang.NumberFormatExceptionになってしまいました。 2つのパターンを用意して、java.text.ParseExceptionなら もう片方のパターンで変換を行うという方法でなら もちろん実現できるのですが、もし可能であれば 1回の変換で実現できる方法を知りたいです。 APIドキュメントを読んでもよくわかりませんでした。。。。 ご存じの方いらっしゃいましたら、ご教授下さい。

    • ベストアンサー
    • Java
  • java.util.concurrent.Future get() のタイムアウトを使ったコードが終了しない

    こんにちは、kataoka700と言います。 以下のコードは、「Java並行処理プログラミング(ソフトバンク)」P.150のプログラムを一部変更した物です。 実行してみると終了するまで時間がかかります。しかし、mainは終わっているようです。なぜ終了しないのでしょうか。 ご存知の方はいませんか。 ■プログラム import java.util.concurrent.*; import static java.util.concurrent.TimeUnit.NANOSECONDS; public class RenderWithTimeBudget { private static final Ad DEFAULT_AD = new Ad(); private static final long TIME_BUDGET = 0; private static final ExecutorService exec = Executors.newCachedThreadPool(); Page renderPageWithAd() throws InterruptedException { long endNanos = System.nanoTime() + TIME_BUDGET; Future<Ad> f = exec.submit(new FetchAdTask()); Page page = renderPageBody(); Ad ad; try { long timeLeft = endNanos - System.nanoTime(); ad = f.get(timeLeft, NANOSECONDS); } catch (ExecutionException e) { ad = DEFAULT_AD; } catch (TimeoutException e) { ad = DEFAULT_AD; f.cancel(true); } page.setAd(ad); return page; } Page renderPageBody() { return new Page(); } static class Ad { } static class Page { public void setAd(Ad ad) { } } static class FetchAdTask implements Callable<Ad> { public Ad call() { return new Ad(); } } public static void main(String[] args) { RenderWithTimeBudget rw = new RenderWithTimeBudget(); try { rw.renderPageWithAd(); System.out.println("main() 終了"); } catch (InterruptedException e) { e.printStackTrace(); } } } ■実行結果 C:\>javac RenderWithTimeBudget.java C:\>java RenderWithTimeBudget main() 終了 C:\> ■環境 OS:WindowsXP SP3 Java:java version "1.6.0_11"

    • ベストアンサー
    • Java
  • XMLファイルの書式の参考サイト

    わりと長めのテキストデータを章ごとにタグをつけてXML化しようと考えています. その前にXMLファイルのフォーマットについてきちんと知っておきたいのですが, 次の3タイプに該当する参考になるサイトをそれぞれ教えてください. (1)とっつきやすく一通りの説明がされていて,しかも規格をはしょりすぎてないもの (2)XMLファイルのフォーマットの規格(できれば日本語) (3)XMLファイルの実例 上に当てはまるサイトでも情報が古くなってしまっているところは除外してください. よろしくお願いします.

    • ベストアンサー
    • XML
  • 0x7f040000の様な表記について

    現在、JAVAを学習しています。 参考書に以下の様に表記されていたのですが、この0x********の部分は何を表しているのでしょうか? app_nameはintで定義されているので、数値が入るのだろうとは思うのですが、 16進数で代入という事なのでしょうか? この場合、10進数で代入する事とどう違うのでしょうか? public static final int app_name=0x7f040000; なお、この辺りの学習について、参考サイトがあれば助かります。 ご教授のほど、よろしくお願い致します。 m(_ _)m

    • ベストアンサー
    • Java
  • SSH起動時のDateFormat(日付型)

    カテ違いの質問でしたらすみません。 現在、JAVAで作成した処理をバッチで起動する処理を行っているのですが、 該当Javaを起動するシェル(Test.rsh)をTeraTermから sh Test.rshの用に呼ぶと問題なく動きます。 この呼び方を ssh 同サーバー名 Test.rsh という風に変えると、 java.text.DateFormat Df = java.text.DateFormat.getDateInstance(); Date val = Df.parse("2005/09/16 0:00:00");  上記parseのところで java.text.ParseException: Unparseable date: "2005/09/16 0:00:00" が発生してしまいます。 sh Test.rshで起動させた時も、該当JavaをWeb画面から呼び出した時もエラーにはなりません。 SSHを使用すると、getDateInstanceでの言語フォーマットが変わったりするのでしょうか・・。 似たような経験をされた方でもヒントでもいいので教えてください。 (シェルの事が分かっていないので、分かりにくい文になりすみません)

    • ベストアンサー
    • Java
  • importが分からない

    importが違うせいだと思いますが、コンパイルできるように直してください。 import java.util.Date; import java.text.SimpleDateFormat; import java.util.Locale; public class a {  public static void main (String args[]) {   Date d = calendar.getTime();   SimpleDateFormat f = new SimpleDateFormat("EEE", Locale.JAPANESE);   String s = f.format(d);   System.out.println(s);  } }

  • Date型

    下記のコード内で、「20060618」設定して、出力を「2006年6月18日」としたいのですが、やり方がわかりません。わかる人がいましたらよろしくお願いいたします。また、Date型というのはどのような型のことを言うのでしょうか?初心者的な質問だと思いますがよろしくお願いいたします。 import java.util.*; import java.text.*; class Test { public static void main(String[] args) { Date date1 = new Date(); // Date date1 = format.parse("20011010"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy'年'MM'月'dd'日'"); System.out.println(sdf1.format(date1)); } }

    • ベストアンサー
    • Java