我正在從包含日期形式爲yyMMdd
的文本文件中讀取String
然後我想將其轉換爲date
類型,但是當我這樣做時,它會丟失它格式。這裏是什麼,我都試過如何將字符串轉換爲日期並保持格式正確
String strDate = matcher.group(10); // strDate would contain 111107
SimpleDateFormat formatter1 = new SimpleDateFormat("yyMMdd");
Date date = formatter1.parse(strDate); // after parsing it, the format changes to Thu Nov 03 00:00:00 EDT 2011
的一個實例,但如果我參加date
並把它放回像這樣String tDate = formatter1.format(date);
的字符串的字符串,然後包含Id喜歡看111107
格式的日期。
有沒有一種方法,我可以做到這一點?也許如果我能如何呼籲format
函數返回date
對象而不是String
,謝謝。
編輯 我從文件中讀取日期的列表中,並將它們加載到地圖,然後我這些日子比較,這也是在yyMMdd
格式,然後如果從地圖上的日期更是對當前日期那麼比當前日期早一週,我提示用戶輸入,然後以yyMMdd
格式將日期和其他相關信息寫入文件。我使用地圖的原因是文本文件的每一行包含的一些信息和獨特的名字,我比較了數據的具體線路的日期,所以我做了map.get(aName)
這裏是代碼,希望它有助於
dbConnect();
stmt = conn.createStatement();
String query = "select * from OBJECT_BAC_EV where instance = 12";//VALUE <> 'Normal'";
rslt = stmt.executeQuery(query);
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("yyMMdd");
String dateNow = formatter.format(currentDate.getTime());
Date curDate = (Date)formatter.parse(dateNow);
currentDate.setTime(curDate);
currentDate.add(Calendar.DAY_OF_MONTH, -7);
dateNow = formatter.format(currentDate.getTime());
curDate = (Date)formatter.parse(dateNow);
Calendar cDate = Calendar.getInstance();
SimpleDateFormat f = new SimpleDateFormat("yyMMdd");
String strDate = f.format(cDate.getTime());
while(rslt.next())
{
System.out.println(rslt.getRow());
String aValue = rslt.getString("VALUE");
String aName = rslt.getString("NAME");
String aObjRef = rslt.getString("ObjRef");
if(aNoteMap.containsKey(aName))
{
String n = aNoteMap.get(aName);
if(aDateMap.get(aName).before(curDate))
{
int answer = JOptionPane.showConfirmDialog(null, "Would you like to use last weeks note? " + n, "Hey", JOptionPane.YES_NO_OPTION);
if(answer == JOptionPane.YES_OPTION)
{
output.write(aName + " " + aObjRef + " " + aValue + " " + aDateMap.get(aName) + " "
+ n + (System.getProperty("line.separator")));
}
else if(answer == JOptionPane.NO_OPTION)
{
String newNote = JOptionPane.showInputDialog("Enter new note");
output.write(aName + " " + aObjRef + " " + aValue + " " + aDateMap.get(aName) + " "
+ newNote + (System.getProperty("line.separator")));
}
}
else
output.write(aName + " " + aObjRef + " " + aValue + " " + aDateMap.get(aName) + " "
+ n + (System.getProperty("line.separator")));
}
else
output.write(aName + " " + aObjRef + " " + aValue + " " + strDate + " "
+ "" + (System.getProperty("line.separator")));
}
System.out.println("its closing output..");
output.close();
}
我添加了一點更多的描述,以我想要做什麼以及一些代碼 – Beef