
No.1ベストアンサー
- 回答日時:
Javaには、文字列を日付フォーマットに変換するための標準的なAPIがあります。
次のように、文字列をDateオブジェクトに変換し、SimpleDateFormatクラスを使用して指定の日付フォーマットに変換することができます。import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) throws Exception {
String dateString = "2023/2/3";
Date date = new SimpleDateFormat("yyyy/M/d").parse(dateString);
String formattedDate = new SimpleDateFormat("yyyyMMdd").format(date);
System.out.println(formattedDate); // 20230203
}
}
このコードでは、まず、SimpleDateFormatを使用して、入力文字列をDateオブジェクトに変換しています。その後、再度SimpleDateFormatを使用して、yyyyMMddフォーマットに変換しています。変換結果はformattedDate変数に格納され、標準出力に出力されます。
なお、上記のコードでは、入力文字列が常に正しい形式であることを前提としています。もし入力文字列が不正な場合は、ParseExceptionがスローされますので、適宜例外処理を行ってください。
ありがとうございます。
yyyy/M/dとなってますが、
12月30日の場合はフォーマットが変わるてことすよね?
一桁なのか二桁なのか毎回判定しないといけないということでしょうか。
No.3
- 回答日時:
> yyyy/M/dとなってますが、
資料を読みましょう
https://docs.oracle.com/javase/jp/8/docs/api/jav …
抜粋すると
* パターン文字の数で正確な表現が決まる
* 数値のフォーマットでは、パターン文字の数は最小桁数
* 数値の解析では、パターン文字の数は無視
であるため、解析(parse) では M で問題ありません
No.2
- 回答日時:
Java 7では、SimpleDateFormatクラスを使用して、指定された日付文字列を指定されたフォーマットに変換することができます。
以下は、SimpleDateFormatを使用して、文字列"2023/2/3"を"yyyyMMdd"のフォーマットに変換する例です。
String inputDate = "2023/2/3";
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy/M/d");
Date date = inputFormat.parse(inputDate);
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyyMMdd");
String outputDate = outputFormat.format(date);
System.out.println(outputDate); // 出力:20230203
この例では、まずSimpleDateFormatを使用して、日付文字列をDateオブジェクトに変換しています。次に、別のSimpleDateFormatを使用して、Dateオブジェクトを"yyyyMMdd"のフォーマットに変換しています。
この方法は、SimpleDateFormatのインスタンスを2つ作成する必要がありますが、単純で効率的な方法です。ただし、SimpleDateFormatはスレッドセーフではないため、マルチスレッドアプリケーションで使用する場合は注意が必要です。また、SimpleDateFormatはJava 8から非推奨となっており、代わりにjava.timeパッケージのクラスを使用することが推奨されています。
ありがとうございます。
yyyy/M/dとなってますが、
12月30日の場合はフォーマットが変わるてことすよね?
一桁なのか二桁なのか毎回判定しないといけないということでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
yyyymmddからyyyy/mm/ddへの変換
Java
-
日付や時刻の01"を" 1"に変換したいです。"
Java
-
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
-
4
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
5
IOException ってどういうときに起こるのでしょうか?
Java
-
6
仕様書の表記について
IT・エンジニアリング
-
7
変数が選択リストにありません
Oracle
-
8
GROUP BYを行った後に結合したい。
Oracle
-
9
SQL Server:UNIONで結合した結果にIDを追加するには?
SQL Server
-
10
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
11
テーブルの最後(最新)のレコードを抽出したい
MySQL
-
12
JSPの処理の途中で、JavaScriptの処理をしたい
JavaScript
-
13
文字列として(ダブルコーテーション)を表示させる方法"
Excel(エクセル)
-
14
Unionした最後にGROUP BYを追加する 又はそれにかわるような方法はありますか?
MySQL
-
15
Javaで文字列をゼロ埋め(ゼロパディング)
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでの文字コード変換について
-
javascriptで文字列のsjis利用...
-
javaで質問です。 文字列2023/2...
-
Visual Basic でのコードをASCI...
-
ダブルクォーテーションのrepla...
-
"\\n"を"<br>"にうまく変換でき...
-
カタカナをローマジに変換する。
-
文字コード変換
-
Windows-31Jからutf-8への変換...
-
int型のゼロ埋め
-
複数の画像からランダム抽出し...
-
Path型をString型へ変換する(Java)
-
文字列の比較
-
エクセルVBAで「〜」が表現でき...
-
全角英数字とハイフンを半角に...
-
[Javascript]エンターキー押下...
-
COBOLで半角カナを全角カナに変換
-
javaの日本語並び替えについて...
-
DBから取得したデータの文字化け
-
C言語32bitから64bitの移行につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
javascriptで文字列のsjis利用...
-
int型のゼロ埋め
-
javaの初歩的な質問です。
-
Path型をString型へ変換する(Java)
-
C言語32bitから64bitの移行につ...
-
JavaのStringクラスに「外字」...
-
エクセルVBAで「〜」が表現でき...
-
カタカナの「ソ」以降の文字が...
-
Windows-31Jからutf-8への変換...
-
pasteHTMLでパスが勝手に変換さ...
-
DBから取得したデータの文字化け
-
数字のみにしたい
-
Visual Basic でのコードをASCI...
-
ジェネリックのキャストをした...
-
補数について質問
-
publicがprotectedになった場合...
-
error C2440: 'static_cast' : ...
-
文字を整数(int)に変換
おすすめ情報