“ 2016年3月10日下午6:30:00”这是我的约会日期,我想将其转换为“ 2016年3月10日”。我可以在android中使用SimpleDateFormat吗?我没有确切的模式来转换它。请帮助并提前感谢
String date="Mar 10, 2016 6:30:00 PM"; SimpleDateFormat spf=new SimpleDateFormat("Some Pattern for above date"); Date newDate=spf.format(date); spf= new SimpleDateFormat("dd MMM yyyy"); String date = spf.format(newDate);
这个步骤行得通吗?如果是,有人可以给我这样的格式吗?提前致谢。
这是您应该使用的修改后的代码:
String date="Mar 10, 2016 6:30:00 PM"; SimpleDateFormat spf=new SimpleDateFormat("MMM dd, yyyy hh:mm:ss aaa"); Date newDate=spf.parse(date); spf= new SimpleDateFormat("dd MMM yyyy"); date = spf.format(newDate); System.out.println(date);
使用hh几个小时才能获得正确的时间。
hh
Java 8及更高版本
Java 8引入了用于时间操纵的新类,因此在这种情况下请使用以下代码:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMM dd, yyyy h:mm:ss a"); LocalDateTime dateTime = LocalDateTime.parse(date, formatter); DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("dd MMM yyyy"); System.out.println(dateTime.format(formatter2));
使用h的小时格式,因为在这种情况下,每小时只有一个数字。
h