我要获得java date类型的日期对象 怎么搞

我要获得java date类型的日期对象 怎么搞,第1张

非常简单你可以这样做

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)中的月份提取出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9430498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存