"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);
Run Code Online (Sandbox Code Playgroud)
这个步骤会起作用吗?如果是,有人可以给我一个这种格式的模式吗?提前致谢.
use*_*339 36
这是您应该使用的修改代码:
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);
Run Code Online (Sandbox Code Playgroud)
使用hh数小时才能获得正确的时间.
您应该将parse()字符串转换为日期,然后将其格式化为所需的格式。您可以使用MMM dd, yyyy HH:mm:ss aformat 来解析给定的字符串。
这是代码片段:
public static void main (String[] args) throws Exception
{
String date = "Mar 10, 2016 6:30:00 PM";
SimpleDateFormat spf = new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a");
Date newDate = spf.parse(date);
spf = new SimpleDateFormat("dd MMM yyyy");
String newDateString = spf.format(newDate);
System.out.println(newDateString);
}
Run Code Online (Sandbox Code Playgroud)
输出:
10 Mar 2016
Run Code Online (Sandbox Code Playgroud)
从字符串到日期和日期到字符串的转换
String deliveryDate="2018-09-04";
SimpleDateFormat dateFormatprev = new SimpleDateFormat("yyyy-MM-dd");
Date d = dateFormatprev.parse(deliveryDate);
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE dd MMM yyyy");
String changedDate = dateFormat.format(d);
Run Code Online (Sandbox Code Playgroud)
我已经为这个问题创建了一个方法.我们只需要传递当前日期格式,所需日期格式和日期字符串.
private String changeDateFormat(String currentFormat,String requiredFormat,String dateString){
String result="";
if (Strings.isNullOrEmpty(dateString)){
return result;
}
SimpleDateFormat formatterOld = new SimpleDateFormat(currentFormat, Locale.getDefault());
SimpleDateFormat formatterNew = new SimpleDateFormat(requiredFormat, Locale.getDefault());
Date date=null;
try {
date = formatterOld.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
if (date != null) {
result = formatterNew.format(date);
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
此方法将以您需要的格式返回Date String.在你的情况下,方法调用将是:
String date = changeDateFormat("MMM dd, yyyy hh:mm:ss a","dd MMM yyyy","Mar 10, 2016 6:30:00 PM");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37845 次 |
| 最近记录: |