java写个求年月

java写个求年月,第1张

不多说了,这个可以么?

import javautil; //引用javautil 包

class Date

{

private int year,month,day;//3个整形变量存放年、月、日

public Date(int y,int m,int d)//有参构造函数

{

year = y > 0 y : 1;

month = (((m>=1) & (m<=12)) m : 1);

day = (((d>=1) & (d<=31)) d : 1);

}

public Date()//无参构造函数

{

this(0,0,0);

}

public int getYear()

{

return year;

}

public void setYear(int y)

{

year=y;

}

public int getMonth()

{

return month;

}

public void setMonth(int m)

{

month=m;

}

public int getDay()

{

return day;

}

public void setDay(int d)

{

day=d;

}

public String displayDate()

{

return year+"/"+month+"/"+day;//返回转化为字符串的年/月/日

}

}

public class DateTest

{

public static void main(String[] args)

{

int y,m,d;

char c=' ';

do

{

Systemoutprintln ("请输入年月日(可用空格、回车或制表作为间隔):");

Scanner sc=new Scanner(Systemin);

y=scnextInt();

m=scnextInt();

d=scnextInt();

Date date=new Date(y,m,d);

Systemoutprintln (datedisplayDate());

Systemoutprintln ("是否修改(键入n退出,任意键字符继续)");

try

{

c=(char)Systeminread();

}

catch(Exception e){}

}while(c!='n');

Systemoutprintln ("程序结束!");

}

}

Calendar 类就是 *** 作日期时间的类,你获取一个Calendar 的实例就可以了。常用的变量有DATE,HOUR,MINUTE,MONTH,YEAR,DATE_OF_MONTH,ZONE_OFFSET,方法有add,set,roll,get等

那要看对方提供的是什么对象,如果是String类型的,那么就需要先转成Date对象,再转成Calendar对象,如果直接给的Date那么更简单,转成Calendar就可以了。

import javatextSimpleDateFormat;

import javautilCalendar;

import javautilDate;

public class Test12{

public static void main(String args[]) throws Exception{

String d1 = "2012-04-02";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date = sdfparse(d1);

Calendar c = CalendargetInstance();

csetTime(date);

Systemoutprintln(cget(CalendarMONTH));

}

}

这个月份是从0开始到11的,所以4月会输出3

//将yyyyMMdd转为date

public static Date getCoreToEmsDateStr(String dateStr){

DateFormat format = new SimpleDateFormat("yyyyMMdd");

Date d = null;

try{

d = formatparse(dateStr);

}catch(ParseException e){

eprintStackTrace();

}

return d;

}

public static String getDateAfterDays(Timestamp s,int days){

Timestamp currTimestamp = s;

for (int i=0;i<days;i++){

currTimestamp = getNextDate(currTimestamp);

}

return getDateTimeStr(currTimestamp,"3");

}

public static Timestamp getNextDate(javasqlTimestamp tsDate){

if(tsDate==null)

return null;

javautilCalendar calendar = CalendargetInstance();

calendarsetTime(tsDate);

return getDateTime(calendarget(CalendarYEAR),calendarget(CalendarMONTH)+1,calendarget(CalendarDATE)+1,

calendarget(CalendarHOUR_OF_DAY),calendarget(CalendarMINUTE),calendarget(CalendarSECOND));

}

public static javasqlTimestamp getDateTime(int year,int month,int day,int hour,int minute,int second){

javasqlTimestamp ts = null;

javautilDate dt = null;

javautilCalendar calendar = CalendargetInstance();

calendarclear();

calendarset(year,month-1,day,hour,minute,second);

dt = calendargetTime();

ts = new javasqlTimestamp(dtgetTime());

return ts;

}

/

比较两个时间是否相同

@param tsBeginDate

@param tsEndDate

@param bool

@return

/

public static long getDateInterval(Timestamp tsBeginDate,Timestamp tsEndDate,boolean bool){

long lDays = 0;

if(bool){

tsBeginDate = CommongetDateTime(CommongetDateString(tsBeginDate),bool);

}

if(tsBeginDate!=null&&tsEndDate!=null){

Log4jinfo("tsEndDategetTime ()===="+tsEndDate);

Log4jinfo("tsBeginDategetTime ()===="+tsBeginDate);

lDays = (tsEndDategetTime()-tsBeginDategetTime())/86400000+1;

Log4jinfo("lDays===="+lDays);

}

return lDays;

}

/

格式化成Timestamp类型

@param sDt

@param bool

@return

/

public static javasqlTimestamp getDateTime(String sDt,boolean bool){

try{

return javasqlTimestampvalueOf(sDt); //sDt format:yyyy-mm-dd hh:mm:ssfffffffff

}catch(IllegalArgumentException iae){

if(bool)

sDt = sDt+" 23:59:590";

else

sDt = sDt+" 00:00:000";

return javasqlTimestampvalueOf(sDt);

}

}

/

根据时间获取日期字符串

@param ts

@return

/

public static String getDateString(Timestamp ts){

if(ts==null)

return "";

Calendar calendar = CalendargetInstance();

calendarsetTime(ts);

String strMonth = StringvalueOf(calendarget(CalendarMONTH)+1);

if(strMonthlength()==1){

strMonth = "0"+strMonth;

}

String strDay = StringvalueOf(calendarget(CalendarDATE));

if(strDaylength()==1){

strDay = "0"+strDay;

}

return calendarget(CalendarYEAR)+"-"+strMonth+"-"+strDay;

}

下面这段代码演示了从日期到规定格式的字符串,在从规定格式的字符串到日期的 *** 作,希望有所帮助

public class DateTransfer {

public static void main(String[] args) {

DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");// 日期格式

Date date = new Date();// 获取当前时间的的Date对象

Systemerrprintln(date);

String now = dfformat(date);// 将date转化为规定格式的字符串

Systemerrprintln(now);

Date newDate = new Date();// 新的Date对象

try {

newDate = dfparse(now);// 将字符串转化为Date类型

} catch (ParseException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

Systemerrprintln(newDate);// 打印验证

}

}

以上就是关于java写个求年月全部的内容,包括:java写个求年月、java怎么截取系统时间的年月日、java 如何解析年月日,比如别人给我传一个年月日,我想单独获取月份怎么解析谢谢高手!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/10160028.html

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

发表评论

登录后才能评论

评论列表(0条)

保存