8
A
回答
19
一种方法做的是它解析为一个日期对象,并再次将其重新格式化:
try {
DateFormat f = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
Date d = f.parse("8/29/2011 11:16:12 AM");
DateFormat date = new SimpleDateFormat("MM/dd/yyyy");
DateFormat time = new SimpleDateFormat("hh:mm:ss a");
System.out.println("Date: " + date.format(d));
System.out.println("Time: " + time.format(d));
} catch (ParseException e) {
e.printStackTrace();
}
如果你只是想将它切成日期时间段,只需用拆分获得片
String date = "8/29/2011 11:16:12 AM";
String[] parts = date.split(" ");
System.out.println("Date: " + parts[0]);
System.out.println("Time: " + parts[1] + " " + parts[2]);
或
String date = "8/29/2011 11:16:12 AM";
System.out.println("Date: " + date.substring(0, date.indexOf(' ')));
System.out.println("Time: " + date.substring(date.indexOf(' ') + 1));
但这种方法是脆弱的。
1
试试这个,
String main = "8/29/2011 11:16:12 AM";
String[] tmp;
String date, time;
tmp = main.split(" ");
// [0] = 8/29/2011
// [1] = 11:16:12
// [2] = AM
date = tmp[0].toString(); // 8/29/2011
time = tmp[1].toString() + " " + tmp[2].toString(); // 11:16:12 AM
谢谢...
0
尝试在java中拆分功能下面的代码:
String my_string="8/29/2011 11:16:12 AM"
String [] my_date_time = null;
my_date_time = my_string.split(" ");
String Date_str=my_date_time[0];
String Time_str=my_date_time[1]+" "+my_date_time[2];
您获取变量字符串这样DATE_STR =“8月29日/ 2011“和Time_str =”11:16:12 AM“
1
String str = "8/29/2011 11:16:12 AM"
String date = str.subString(0, str.indexOf(' '));
String time = str.subString(str.indexOf(' ')+1);
希望它能帮助你。 :)
0
您可以通过拆分您的字符串做它分成两子,如下
String main = "8/29/2011 11:16:12 AM";
String s[] = main.split(" ",2);
String date = s[0];
String time = s[1];
注意:在第二个参数中提到的splite方法将字符串分割成两个部分。
0
为什么不使用DateFormat?
检查http://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html
String str = "8/29/2011 11:16:12 AM";
String fmt = "MM/dd/yyyy HH:mm:ss a";
DateFormat df = new SimpleDateFormat(fmt);
Date dt = df.parse(str);
DateFormat tdf = new SimpleDateFormat("HH:mm:ss a");
DateFormat dfmt = new SimpleDateFormat("MM/dd/yyyy");
String timeOnly = tdf.format(dt);
String dateOnly = dfmt.format(dt);
它提供了更多的工作/代码,但它是这样做的正确方法。
0
mDate = new Date();
DateFormat timeFormat = SimpleDateFormat.getTimeInstance();
DateFormat dateFormat = SimpleDateFormat.getDateInstance();
timeFormat.format(mDate); // formats to: 4:53:03 AM
dateFormat.format(mDate); // formats to: Oct 16, 2014
+0
请解释您的答案,而不是只发布“尝试这种”类型的解决方案。 – Gary 2014-10-16 09:26:55
相关问题
- 1. 如何从日期时间戳的时间和日期在PHP
- 2. 从日期时间到时间戳python
- 3. PHP MYSQL日期,时间,日期时间和时间戳
- 4. 日期时间戳
- 5. PHP日期和时间戳
- 6. 日期到Unix时间戳
- 7. 日期到时间戳nanos
- 8. 如何日期和时间转换成日期时间/时间戳
- 9. 如何从PHP日期时间获得unix时间戳?
- 10. C#:Unix时间戳和日期时间
- 11. 时间戳和日期时间?
- 12. 时间戳和日期时间
- 13. Unix时间戳到.net日期时间
- 14. 时间戳到长日期时间
- 15. 时间戳,日期,时间或日期时间是哪个?
- 16. 将日期和时间转换为日期+时间戳
- 17. 分离的日期和时间的日期时间戳
- 18. 如何从日期和时间创建时间戳
- 19. 如何从hbase列读取日期,时间和时间戳
- 20. 如何获得日期时间,日期和时间列的时间差
- 21. 从时间戳到正常日期
- 22. PHP如何从时间戳获得日/时间的时间戳
- 23. 如何从黑莓时间戳得到日期?
- 24. 如何比较时间戳的日期和日期?
- 25. 日期时间从现场时戳
- 26. PHP日期时间戳
- 27. 时间戳更改日期
- 28. 按时间戳日期组
- 29. Sqoop - 日期 - 时间戳
- 30. SQlite3 - SQL日期时间戳
当我得到这种类型的字符串时,我将它减去并创建一个Date对象。但也许有更简单的方法。 – goodm 2012-03-27 09:32:28