Javaで日付形式の変換に関する質問
Javaプログラミングで困ってます。ご存知の方教えてください。
①画面のテキストボックスで入力された日付「形式 yyyy/MM/dd HH:mm:ss」(JST)を、UTCとUnixTimeに変換したいです。また、UnixTimeをUTC、JSTの上記形式に変換したいです。どのようにしたらよろしいですか。
※テキストボックスで入力された値は、以下の通り取得後、変換し、別テキストボックスへ変換後の値を表示したい。
text1.getText()
②下記の通り、現在時刻ボタンを押下した際に、時間を出力するようにしておりますが、停止ボタンを押下して、停止かつテキストボックス内の値をクリアする方法を教えてください。
if("現在時刻".equals(cmdName)){
// "red"の処理
SwingUtilities.invokeLater(new Runnable() {
public void run(){
// ZonedDateTimeクラスでUTC時間を取得
ZonedDateTime utc_time
= ZonedDateTime.now(ZoneId.of("UTC"));
// ZonedDateTimeクラスでJST時間を取得
ZonedDateTime jst_time
= ZonedDateTime.now(ZoneId.of("Asia/Tokyo"));
// ZonedDateTimeクラスでunixtimeを取得
long unix_time = System.currentTimeMillis()/1000;
// UTS時間とJST時間の表示形式変換(yyyy/mm/dd hh:mm:ss)
String utc_aft = String.format("%1$tY/%1$tm/%1$td %1$tH:%1$tM:%1$tS",utc_time);
String jst_aft = String.format("%1$tY/%1$tm/%1$td %1$tH:%1$tM:%1$tS",jst_time);
String UNIX = String.valueOf(unix_time);
text1.setText(utc_aft);
text2.setText(jst_aft);
text3.setText(UNIX);
SwingUtilities.invokeLater(this);
}
});
}
申し訳ないですが、よろしくお願いいたします。