我使用下面的函數返回一個格式化字符串日期:如何格式化ISO m8583的Java使用日期?
private static String formatDate(String format) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(format);
String strDate = sdf.format(date);
return strDate;
}
例如該函數返回,如果我使用以下格式調用它:
System.out.println(formatDate("MMYYHHMMSS"));
它打印:04130904803
當我使用上述日期來創建一個ISO消息,例如。
// Create ISO Message
ISOMsg isoMsg = new ISOMsg();
isoMsg.setPackager(packager);
isoMsg.setMTI("0200");
isoMsg.set(2, "100002");
isoMsg.set(3, "2");
isoMsg.set(7, "04130904803");
isoMsg.set(11, "123456");
isoMsg.set(44, "A5DFGR");
isoMsg.set(105, "ABCDEFGHIJ 1234567890");
// Get and print the output result
byte[] data = isoMsg.pack();
unpackISO(new String(data));
我得到以下錯誤: =>錯誤:錯誤包裝領域7 但是當我刪除日期之前的零場7,我工作得很好。我應該在java中使用什麼日期格式來格式化日期?幫幫我!
謝謝飛碟雙向 – user2194528
了一份關於ISO 8583的格式。字段7應該是'MMddHHmmss'「月份日時分秒」 –
@JohnOxley:謝謝 - 將解決此問題並指出您的評論。 –