質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

18570閲覧

"YYYY/MM/DD"という文字列を"YYYY年MM月DD日"という書式で取得したい。

touch

総合スコア38

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2015/06/11 12:21

データベースからgetStringで取得した、"2014/5/11"といった文字列を"2014年5月11日"という書式で取得できる関数をどなたか教えていただけないでしょうか?
FormatやsimpleDateFormatなどを試してみましたが、これがなかなかうまくいかずに困っています。初歩的な質問でしたら大変恐縮ですが、何卒宜しくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

Java標準ライブラリーではこんな感じになります。

lang

1// Java8以降 2 3// import java.time.LocalDate; 4// import java.time.format.DateTimeFormatter; 5 6DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("y/M/d"); 7DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy年MM月dd日"); 8LocalDate ld = LocalDate.parse(dateString, dtf1); 9System.out.println(dtf2.format(ld)); // => 2014年05月11日 10 11 12// Java7以前 13 14// import java.text.*; 15// import java.util.Date; 16 17DateFormat df1 = new SimpleDateFormat("y/M/d"); 18DateFormat df2 = new SimpleDateFormat("yyyy年MM月dd日"); 19try { 20 Date d = df1.parse(dateString); 21 System.out.println(df2.format(d)); // => 2014年05月11日 22} catch (ParseException e) { 23 e.printStackTrace(); 24}

参考リンク:
SimpleDateFormat - Java8 API ドキュメント
DateTimeFormatter - Java8 API ドキュメント

投稿2015/06/11 12:56

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

touch

2015/06/12 12:12

ご回答ありがとうございました。 二つ目の方法を使わせていただき、無事解決しました。 重ねてお礼申し上げます。
guest

0

こんにちは。

Javaはあまり触ったことないですが…こんな感じでしょうか。

lang

1import java.text.DateFormat; 2import java.text.SimpleDateFormat; 3import java.util.Date; 4import java.text.ParseException; 5 6public class DateFormatTest 7{ 8 public static void main(String[] args) throws ParseException 9 { 10 String hoge = "2014/5/11"; 11 SimpleDateFormat s = new SimpleDateFormat("yyyy/M/d"); 12 Date date = s.parse(hoge); 13 s.applyPattern("yyyy年M月d日"); 14 System.out.println(s.format(date)); 15 } 16}

投稿2015/06/11 12:48

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

touch

2015/06/12 12:11

ご回答ありがとうございました。解決しました。
guest

0

単に"/"を置き換えて最後に"日"をつければいいのではないでしょうか.

lang

1String str = "2014/5/11"; 2StringBuilder builder = new StringBuilder(str); 3int i = builder.indexOf("/"); //最初の"/"の位置 4builder.replace(i, i + 1, "年"); //最初の"/"を"年"に置き換え 5i = builder.indexOf("/"); //次の"/"の位置(最初の"/"は置き換えられてもうない) 6builder.replace(i, i + 1, "月"); //"/"を"月"に置き換え 7builder.append("日"); //末尾に"日"を追加 8String result = builder.toString();

投稿2015/06/11 12:47

swordone

総合スコア20649

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

touch

2015/06/12 12:10

ご回答ありがとうございました。 おかげさまで解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問