本文目录一览:
用java定义一个日期类,急!!!
class MyDate{
public int year,month,day;
public MyDate(MyDate date){
year=date.year;
month=date.month;
day=date.day;
}
public boolean isLeapYear(){
return (((year%4==0)(year%100!=0))||(year%400==0));
}
public MyDate(int y,int m,int d){
year=y;
month=m;
day=d;
if(((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12))((day1)||(day31))) System.out.println("wrong date");
if(((month==4)||(month==6)||(month==9)||(month==11))((day1)||(day30))) System.out.println("wrong date");
if(month==2){
if(isLeapYear()((day1)||(day29))) System.out.println("wrong date");
if(!isLeapYear()((day1)||(day28))) System.out.println("wrong date");
}
}
public boolean equal(MyDate date){
return (year==date.year month==date.month day==date.day);
}
public void incrementDay(){
if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)){
int flag=0;
if(day==31){month+=1;flag=1;}
if((day=30)(day=1)){day+=1;}
if(flag==1) day=1;
flag=0;
}
if((month==4)||(month==6)||(month==9)||(month==11)){
int flag=0;
if(day==30){month+=1;flag=1;}
if((day=29)(day=1)){day+=1;}
if(flag==1) day=1;
flag=0;
}
if(month==12){
int flag=0;
if(day==31){year+=1;month=1;flag=1;}
if((day=1)(day=30)){day+=1;}
if(flag==1) day=1;
flag=0;
}
if(month==2){
int flag=0;
if(isLeapYear()){
if(day==29){month+=1;flag=1;}
if((day=28)(day=1)){day+=1;}
if(flag==1) day=1;
flag=0;
}
else{
if(day==28){month+=1;flag=1;}
if((day=27)(day=1)){day+=1;}
if(flag==1) day=1;
flag=0;
}
}
}
public int getYear(){
return year;
}
public int getMonth(){
return month;
}
public int getDay(){
return day;
}
public String toString(){
return (year+"-"+month+"-"+day);
}
}
public class Mytest{
public static void main(String[] test){
MyDate date1=new MyDate(2000,2,28);
MyDate date2=new MyDate(2006,12,31);
MyDate date3=new MyDate(date2);
System.out.println(date3.equal(date2));
date1.incrementDay();
System.out.println(date1.getYear()+" "+date1.getMonth()+" "+date1.getDay());
System.out.println(date1.toString());
date2.incrementDay();
System.out.println(date2.getYear()+" "+date2.getMonth()+" "+date2.getDay());
System.out.println(date2.toString());
}
}
java程序定义一个日期类
正好我这有一个日期的工具类,你参考一下。我是直接黏贴进来的,看起来感觉有点乱,你复制后放到eclipse里看就整齐了。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.junit.Test;
/**
* @author Administrator
* 各种日期、时间转换的示例总结:
*/
public class DateFormatUtil {
/**
* 将当前时间转换成指定格式的日期形式的字符串输出
* */
@Test
public void dateToStr(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = sdf.format(new Date());
System.out.println(dateString);
}
/**
* 将给定时间格式的字符串,解析成Date输出
* @throws ParseException
* */
@Test
public void strToDate() throws ParseException{
String str = "201012241002";//yyyyMMddhhmm
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmm");
Date date = sdf.parse(str);
System.out.println(date);
}
/**
* 字符串,格式化 为指定字符串
* @throws ParseException
*/
@Test
public void formatstr()throws ParseException{
String str = "20170314155847";//yyyyMMddhhmm
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str2 = sdf2.format(sdf.parse(str));
System.out.println(str2);
}
/**
* 操作时间:当前时间减去一天,一月,一年
*/
@Test
public void oprateDate(){
Date date = new Date();//获取当前时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// calendar.add(Calendar.YEAR, -1);//当前时间减去一年,即一年前的时间
// calendar.add(Calendar.MONTH, -1);//当前时间前去一个月,即一个月前的时间
calendar.add(Calendar.DATE, -1);
Date time = calendar.getTime();//获取一年前的时间,或者一个月前的时间
System.out.println(time);
}
}
java日期类型
在java中,代表时间和日期的类型包括:java.util.Date和java.util.Calendar,此外,在JDBC API中还提供了3个扩展类,java.UtilDate类的子类:java.sql.Date,java.sql.Time,和java.sql.Timestamp,这三个类分别和标准SQL类型中的DATE,TIME,TIMESTAMP类型对应
在标准的SQL中,DATE类型表示日期,TIME类型表示时间,TIMESTAMP类型表示时间戳,同时包含日期和时间信息
因为java.util.Date是java.sql.Date,java.sql.Time,和java.sql.Timestamp的父类,所以java.util.Date可以对应标准SQL中的DATE,TIME,TIMESTAMP类型
所以在设置持久化类的类型是设置为java.util.Date