我传入一个 String型的 日期格式: "yyyy-mm-dd" 例如:"2007-03-16"
然后我希望将其转换为 "yyyy-mm-dd 08:00:00" 如:"2007-03-16 08:00:00"
并且计算出他前一天的日期,格式也是"yyyy-mm-dd 08:00:00" 如:"2007-03-15 08:00:00"请大家指点指点,谢谢了!
然后我希望将其转换为 "yyyy-mm-dd 08:00:00" 如:"2007-03-16 08:00:00"
并且计算出他前一天的日期,格式也是"yyyy-mm-dd 08:00:00" 如:"2007-03-15 08:00:00"请大家指点指点,谢谢了!
Date d=sfd.parse("2007-03-16");//2007-03-16 08:00:00Calendar c=sfd.getCalendar();
c.add(Calendar.DAY_OF_MONTH, -1);
Date d=c.getTime();//2007-03-15 08:00:00
{
public static void main(String[] args)throws Exception
{
java.util.Map value=toLong("2007-03-01");
System.out.println("today: "+value.get("today"));
System.out.println("yestoday: "+value.get("yestoday"));
}
private static java.util.Map toLong(String today)
{
java.util.Map retVal=new java.util.HashMap();
java.text.DateFormat f=new java.text.SimpleDateFormat("yyyy-MM-dd");
java.util.Calendar c=java.util.Calendar.getInstance(); try
{
c.setTime(f.parse(today));
} catch (ParseException e)
{
// XXX Auto-generated catch block
e.printStackTrace();
}
c.set(java.util.Calendar.HOUR_OF_DAY, 8);
c.set(java.util.Calendar.MINUTE, 0);
c.set(java.util.Calendar.SECOND, 0);
f=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
retVal.put("today", f.format(c.getTime()));
c.add(java.util.Calendar.DAY_OF_MONTH,-1);
retVal.put("yestoday", f.format(c.getTime()));
return retVal;
}
}
Date date = sdf.parse("2007-03-16);
System.out.println( sdf.format(date) );
SimpleDateFormat sfd=new SimpleDateFormat("yyyy-MM-dd 08:00:00");
Date d=sfd.parse("2007-03-16");//2007-03-16 08:00:00
Calendar c=sfd.getCalendar();
c.add(Calendar.DAY_OF_MONTH, -1);
Date d=c.getTime();//2007-03-15 08:00:00
有错误:Unparseable date: "2007-03-16"。
因为我传入的是 一个String型的 日期格式: "yyyy-mm-dd" 而上面那个写法是把他当做了date对象类型的。
Date d = new SimpleDateFormat("yyyy-MM-dd").parse("2007-03-16");// 2007-03-16
// 08:00:00
System.out.println(new SimpleDateFormat("yyyy-MM-dd 08:00:00")
.format(d));
Date yesterday = new Date(d.getTime() - 1000L * 3600L * 24);
System.out.println(new SimpleDateFormat("yyyy-MM-dd 08:00:00")
.format(yesterday));
* @param args
*/
public static void main(String[] args) {
String s = "2007-03-16";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date=sdf.parse(s);
SimpleDateFormat sdf1=new SimpleDateFormat("yyy-MM-dd 08:00:00");
System.out.println(sdf1.format(date));
Long l=date.getTime();
Long l_1=l-24*60*60*1000L;
System.out.println(sdf1.format(l_1));
} catch (ParseException e) {
e.printStackTrace();
}
}}
结果:
07-03-16 08:00:00
07-03-15 08:00:00
再次感谢大家!