想new 出一个纯日期不带时间的,如2008-12-12的Date类对象还有纯时间的,不带日期的,如11:25:39的Date类对象,搞了很久,就是搞不出用simpleDateFormat:SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(formatTime.parse("HH:mm:ss"));它总是默认给我加上1970的日期:Thu Jan 01 23:08:25 CST 1970SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd"); //获取日期
System.out.println(formatDate.parse("2009-11-23"));它总是默认默认给我 加上00:00:00,且格式不对Mon Nov 23 00:00:00 CST 2009我还试过了 GregorianCalendar sDate = new GregorianCalendar(2009, Calendar.MARCH, 19);
sDate.getTime(),也不行,又加了时间
我的目的是想创建个纯日期,纯时间的Date类对象,使用起来的时候跟完整的Date类(如2009-12-11 12:25:36)一样,当我同类做比较的时候,就可以忽略时间或者日期
System.out.println(formatTime.parse("HH:mm:ss"));它总是默认给我加上1970的日期:Thu Jan 01 23:08:25 CST 1970SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd"); //获取日期
System.out.println(formatDate.parse("2009-11-23"));它总是默认默认给我 加上00:00:00,且格式不对Mon Nov 23 00:00:00 CST 2009我还试过了 GregorianCalendar sDate = new GregorianCalendar(2009, Calendar.MARCH, 19);
sDate.getTime(),也不行,又加了时间
我的目的是想创建个纯日期,纯时间的Date类对象,使用起来的时候跟完整的Date类(如2009-12-11 12:25:36)一样,当我同类做比较的时候,就可以忽略时间或者日期
public final class Time{
public final static void getTime(){//格式化输出当前系统时间
Calendar time=Calendar.getInstance();
int year=time.get(time.YEAR);
int month=time.get(time.MONTH);
int day=time.get(time.DAY_OF_MONTH);
int hour=time.get(time.HOUR_OF_DAY);
int minute=time.get(time.MINUTE);
int second=time.get(time.SECOND);
int millisecond=time.get(time.MILLISECOND);//毫秒
int week=time.get(time.DAY_OF_WEEK);
String [] chineseWeek={"天","一","二","三","四","五","六"};
System.out.println(year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second+" 星期"+chineseWeek[week-1]+" "+millisecond+"毫秒");
//System.out.println(time.toString());//查看Calendar日历类所有时间属性
}
}上述代码可以直接new Time获取时间,我一般是做成方法的。public String getTime(){//格式化输出当前系统时间
Calendar time=Calendar.getInstance();
int year=time.get(time.YEAR);
int month=time.get(time.MONTH);
int day=time.get(time.DAY_OF_MONTH);
int hour=time.get(time.HOUR_OF_DAY);
int minute=time.get(time.MINUTE);
int second=time.get(time.SECOND);
int millisecond=time.get(time.MILLISECOND);//毫秒
int week=time.get(time.DAY_OF_WEEK);
String [] chineseWeek={"天","一","二","三","四","五","六"};
return ...将上述拼接吧,想要哪个就接哪个。
}
只是当前的日期;
new java.sql.Time(new java.util.Date().getTime());
只是当前的时间如果不是当前的时间或日期,可以修改里面的参数,得到特定的日期或时间
DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
DateFormat df2 = new SimpleDateFormat("hh:mm:ss");
String str1 = df1.format(d);
System.out.println(str1);
String str2 = df2.format(d);
System.out.println(str2);
import java.util.Calendar;
public final class Time{
public final static void getTime(){//格式化输出当前系统时间
Calendar time=Calendar.getInstance();
int year=time.get(time.YEAR);
int month=time.get(time.MONTH);
int day=time.get(time.DAY_OF_MONTH);
int hour=time.get(time.HOUR_OF_DAY);
int minute=time.get(time.MINUTE);
int second=time.get(time.SECOND);
int millisecond=time.get(time.MILLISECOND);//毫秒
int week=time.get(time.DAY_OF_WEEK);
String [] chineseWeek={"天","一","二","三","四","五","六"};
System.out.println(year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second+" 星 期"+chineseWeek[week-1]+" "+millisecond+"毫秒");
//System.out.println(time.toString());//查看Calendar日历类所有时间属性
}
}
你到底是用Date,还是String ? 你先搞清楚再说!
1 如果是Date,那你就使用其年月日部分就行了,不管时间不就好了
2 如果是String, 那么你在转换时,把时分秒去掉就好了。别把2个事情混成一个。