非常简单你可以这样做
Date d=new Date(SystemcurrentTimeMillis());//获取时间
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//转换格式
Systemoutprintln(sdfformat(d))
当然这样做也是得到了所有的时间之后,在根据格式字符串截取的
还有你也可以这样做
Calendar calendar = CalendargetInstance();
int year = calendarget(Calendar YEAR);
int month = calendarget(Calendar MONTH)+1;
int day = calendarget(Calendar DAY_OF_MONTH );
建议最好是用Calendar,不要使用Date,sun官方已经明确表示不要使用Date
java 得到系统时间,直接私用Date类型,直接生成一个对象即可,示例如下:
import javautilDate;import javatextDateFormat;
import javatextSimpleDateFormat;
Date dt=new Date();//如果不需要格式,可直接用dt,dt就是当前系统时间
DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//设置显示格式
String nowTime="";
nowTime= dfformat(dt);//用DateFormat的format()方法在dt中获取并以yyyy/MM/dd HH:mm:ss格式显示
Calendar cal = CalendargetInstance();
calsetTime(new Date());
int month = calget(CalendarMONTH); //注意月份是从0开始的,比如当前7月,获得的month为6
现在Date下面的大部分方法已经废弃,不推荐使用。
直接通过格式转换的形式即可。举例:
String str0 = "2015年07月05日";
Date d1 = new SimpleDateFormat("yyyy年MM月dd日")parse(str0);//定义起始日期
SimpleDateFormat sdf0 = new SimpleDateFormat("yyyy");
SimpleDateFormat sdf1 = new SimpleDateFormat("MM");
SimpleDateFormat sdf2= new SimpleDateFormat("dd");
String str1 = sdf0format(d1);
String str2 = sdf1format(d1);
String str3 = sdf2format(d1);
Systemoutprintln("年份为:"+str1);
Systemoutprintln("月份为:"+str2);
Systemoutprintln("日为:"+str3);
结果:
import javatextSimpleDateFormat;
import javautilCalendar;
public class DataTest {
public static void main(String[] args) {
printWeekdays();
}
private static final int FIRST_DAY = CalendarMONDAY;
private static void printWeekdays() {
Calendar calendar = CalendargetInstance();
setToFirstDay(calendar);
for (int i = 0; i < 7; i++) {
printDay(calendar);
calendaradd(CalendarDATE, 1);
}
}
private static void setToFirstDay(Calendar calendar) {
while (calendarget(CalendarDAY_OF_WEEK) != FIRST_DAY) {
calendaradd(CalendarDATE, -1);
}
}
private static void printDay(Calendar calendar) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd EE");
Systemoutprintln(dateFormatformat(calendargetTime()));
}
}
字段updateTime为Date类型,那么如果只要精确到年月日,那么就使用trunc(updateTime)即可,其他还有:
trunc[截断到最接近的日期,单位为天] ,返回的是日期类型
select sysdate S1,
trunc(sysdate) S2, //返回当前日期,无时分秒
trunc(sysdate,'year') YEAR, //返回当前年的1月1日,无时分秒
trunc(sysdate,'month') MONTH , //返回当前月的1日,无时分秒
trunc(sysdate,'day') DAY //返回当前星期的星期天,无时分秒
1、取得指定日期是星期几
取得指定日期是星期几可以采用下面两种方式取得日期是星期几:
a、使用Calendar类
//根据日期取得星期几
public static String getWeek(Date date){
String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
Calendar cal = CalendargetInstance();
calsetTime(date);
int week_index = calget(CalendarDAY_OF_WEEK) - 1;
if(week_index<0){
week_index = 0;
}
return weeks[week_index];
}
b、使用SimpleDateFormat类
//根据日期取得星期几
public static String getWeek(Date date){
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
String week = sdfformat(date);
return week;
}
注:格式化字符串存在区分大小写
对于创建SimpleDateFormat传入的参数:EEEE代表星期,如“星期四”;MMMM代表中文月份,如“十一月”;MM代表月份,如“11”;
yyyy代表年份,如“2010”;dd代表天,如“25”
2、取得日期是某年的第几周
根据日期入得日期是某年的第几周。
//取得日期是某年的第几周
public static int getWeekOfYear(Date date){
Calendar cal = CalendargetInstance();
calsetTime(date);
int week_of_year = calget(CalendarWEEK_OF_YEAR);
return week_of_year;
}
3、得到某年的某个月有多少天
已知年份和月份,取得该月有多少天。
//取得某个月有多少天
public static int getDaysOfMonth(int year,int month){
Calendar cal = CalendargetInstance();
calset(CalendarYEAR, year);
calset(CalendarMONTH, month-1);
int days_of_month = calgetActualMaximum(CalendarDAY_OF_MONTH);
return days_of_month;
}
4、取得两个日期之间的相差多少天
已知两个日期,计算它们之间相差多少天。
// 取得两个日期之间的相差多少天
public static long getDaysBetween(Date date0, Date date1) {
long daysBetween = (date0getTime() - date1getTime() + 1000000) / 86400000;// 86400000=3600241000 用立即数,减少乘法计算的开销
return daysBetween;
}
import javatextDateFormat;
import javatextParseException;
import javatextSimpleDateFormat;
import javautilDate;
import javautilLocale;
public class TestDate {
public static void main(String[] args) {
String str1 = "Mon Mar 05 00:00:00 CST 2012";
String modle="yyyy-MM-dd HH:mm:ss";
Systemoutprintln(getTime(str1,modle));
}
public static String getTime(String str,String model){
String dateStr="";
SimpleDateFormat f=new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",LocaleENGLISH);
try {
Date date=fparse(str);
dateStr=new SimpleDateFormat(model)format(date);
} catch (Exception e) {
eprintStackTrace();
}
return dateStr;
}
}
以上就是关于我要获得java date类型的日期对象 怎么搞全部的内容,包括:我要获得java date类型的日期对象 怎么搞、java如何得到系统时间,Date型、JAVA语句怎么把日期(类型为DATA)中的月份提取出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)