[英]I want to convert a string to date format in java 6
我的輸入是這樣的:
20180718140032488266000Z-0600
它應該在數據庫中保存的方式如下:
21-JUL-18 12.05.25.000000000 AM
目前我已經寫了這樣的代碼:
public static void main(String[] argv) throws ParseException {
// SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSSZ");
String dateInString = "20180718140032488266000Z-0600";
Timestamp ts = formatDate(dateInString);
System.out.println(ts);
}
private static Timestamp formatDate(String dateString) throws ParseException {
// dateString = dateString.replaceAll("Z", "0000");
SimpleDateFormat fmtTimestamp = new SimpleDateFormat("yyyyMMddHHmmssSSS'Z'");
Date dtTimestamp1 = fmtTimestamp.parse(dateString);
Timestamp timestamp = new java.sql.Timestamp(dtTimestamp1.getTime());
return timestamp;
}
我正在以以下格式輸出: 2018-07-24 05:38:18.0
,我的問題是如何在輸出中也獲得AM / PM。 請提出解決方案。 我將非常感激。
我的問題是如何在輸出中也獲得AM / PM
Java 6很老了。 但是,您需要檢查此SimpleDateFromat的Documentantion。通過此操作,您將看到字母a
用於am / pm Maker:
a Am/pm marker Text PM
您的格式是21-JUL-18 12.05.25.000000000 AM
因此最后要添加此格式,您需要制作一個新的SimpleDateFormat
public static void main(String args[]) throws IOException, ParseException {
String dateInString = "20180718140032488266000Z-0600";
Timestamp ts = formatDate(dateInString);
System.out.println(ts);
SimpleDateFormat fmtTimestamp = new SimpleDateFormat("dd-MMM-YY hh.mm.s.SSSSS a");
System.out.println(fmtTimestamp.format(ts));
}
有了這個,您將得到……但是有更好的解決方案。 就像升級到Java的新版本一樣。 我的拙見。
下面的代碼將以'2018-07-31 7:39:09 PM'的格式給您提供日期。請參考http://tutorials.jenkov.com/java-internationalization/simpledateformat.html#formatting-dates了解更多信息
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatExample {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd h:mm:ss a");
String strDate= formatter.format(date);
System.out.println(strDate);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.