我写了以下代码:
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
String newDAte = String.valueOf(day) + "-" + String.valueOf(month + 1) + "-" + String.valueOf(year);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
try {
Date d = dateFormat.parse(newDAte);
System.out.println("DATE" + d);
System.out.println("Formated" + dateFormat.format(d));
d = dateFormat.parse(String.valueOf(d));
Toast.makeText(MainActivity.this, String.valueOf(d), Toast.LENGTH_SHORT).show();
} catch (Exception e) {
System.out.println("Excep" + e);
}
当我举杯时,它会显示wednesday spetember 10 2016 ...
现在,当我将其转换为字符串时,它显示出完美的输出:26-10-2016
String sdate = String.valueOf(dateFormat.format(d))
但它是作为字符串返回,我希望作为日期类型,如:
Date newD = dateFormat.format(d);
但它没有用。
我想要输出26-10-2016
,但它必须返回/存储到Date变量
如何以日期类型返回?
答案 0 :(得分:1)
见下文。这对我有用。
Index
输出:test ==> test ==> Wed Oct 26 00:00:00 GMT + 05:30 2016(日期格式)
答案 1 :(得分:0)
在这里你可以找到两个可以将毫安转换为日期和日期到毫米的函数
Milles to Date格式。
private String convetTimeStamp(String time) {
Calendar cal = Calendar.getInstance();
long Time = Long.parseLong(time);
cal.setTimeInMillis(Time * 1000);
String date = DateFormat.format("dd-MM-yyyy hh:mm a", cal).toString();
return date;
}
如果你不想要时间,只需删除hh:mm a
日期到百万
private long dateToMillies(String time)
{
Date date = null;
try {
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
formatter.setLenient(false);
date = formatter.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
return (date.getTime()/1000);
}