【发布时间】:2015-08-13 21:53:43
【问题描述】:
我想知道如何在 java 中格式化日期。 我有以下代码,
String endDate = textEndDate.getText().toString();
Log.d(TAG, "Date endDate");
Log.d("ADebugTag", "Value: " + textEndDate.getText());
// = "03/26/2012 11:49:00 AM";
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
// Date convertedDate = new Date();
try {
actualendDate = dateFormat.parse(endDate);
Log.d("ADebugTag", "Value actualendate: " + actualendDate.toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
logcat如下。
05-31 18:54:24.651: D/NewBet(17235): Date endDate
05-31 18:54:24.651: D/ADebugTag(17235): Value: 2015-07-30
05-31 18:54:24.661: D/ADebugTag(17235): Value actualendate: Thu Jan 05 00:00:00 GMT+08:00 36
05-31 18:54:24.661: D/NewBet(17235): onCreate() Restoring previous state
05-31 18:54:24.681: D/libc(17235): [NET] getaddrinfo+,hn 13(0x6170692e706172),sn(),family 0,flags 4
05-31 18:54:24.681: D/libc(17235): [NET] getaddrinfo-,err=8
05-31 18:54:24.681: D/libc(17235): [NET] getaddrinfo+,hn 13(0x6170692e706172),sn(),family 0,flags 1024
05-31 18:54:24.681: D/libc(17235): [NET] getaddrinfo-, 1
05-31 18:54:24.681: D/libc(17235): [NET] getaddrinfo_proxy+
05-31 18:54:24.731: D/libc(17235): [NET] getaddrinfo_proxy-, success
05-31 18:54:24.731: I/global(17235): call createSocket() return a new socket.
05-31 18:54:24.731: D/libc(17235): [NET] getaddrinfo+,hn 13(0x35342e3136342e),sn(),family 0,flags 4
05-31 18:54:24.731: D/libc(17235): [NET] getaddrinfo-, SUCCESS
05-31 18:54:26.113: D/libc(17235): [NET] getaddrinfo+,hn 13(0x6170692e706172),sn(),family 0,flags 4
05-31 18:54:26.113: D/libc(17235): [NET] getaddrinfo-,err=8
【问题讨论】:
-
使用 SimpleDateFormat 的 Format 函数。
-
不清楚你想要实现什么。你有什么问题?
-
格式字符串
dd-MM-yyyy与您尝试解析的字符串2015-07-30的格式不对应。阅读SimpleDateFormat的API文档,并使用匹配的格式字符串。