本文目录一览:
- 1、java程序定义一个日期类
- 2、用Java做的 定义一个时间类型(类名MyTime) 定义名为Mytime类,其中应有三个整形
- 3、用Java做的 定义一个时间类型(类名MyTime)
- 4、(1)java 创建一个日期类,其中包含三个成员变量,年、月、日。通过成员方法setDate()为这三个成员变量
- 5、用java定义一个日期类,急!!!
- 6、java中如何定义日期型数据?
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做的 定义一个时间类型(类名MyTime) 定义名为Mytime类,其中应有三个整形
package Demo;
public class MyTime {
private int hour, minute, second;
public MyTime(int hour, int minute, int second) {
super();
this.hour = hour;
this.minute = minute;
this.second = second;
}
public void addSecond(int sec) {
second += sec;
}
public void addMinute(int min) {
minute += min;
}
public void addHour(int hou) {
hour += hou;
}
public void subSecond(int sec) {
second -= sec;
}
public void subMinute(int min) {
minute -= min;
}
public void subHour(int hou) {
hour -= hou;
}
public void diaplay() {
System.out.println(hour + "时" + minute + "分" + second + "秒");
}
}
用Java做的 定义一个时间类型(类名MyTime)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
public class MyTime {
public String hour;
public String minute;
public String second;
public MyTime() {
hour = "00";
minute = "00";
second = "00";
}
public MyTime(String hour, String minute, String second) {
this.hour = hour;
this.minute = minute;
this.second = second;
}
public MyTime TimeAdd(MyTime t) {
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");// 定义格式
String str1 = t.toString();// 时间字符串
String str2 = this.toString();// 时间字符串
Date date1 =null;
Date date2 =null;
try {// 构造时间字符串
date1= format.parse(str1);
} catch (ParseException e) {
date1 = new Date();//如果出错为00:00:00
date1.setHours(0);
date1.setMinutes(0);
date1.setSeconds(0);
}
try {
date2= format.parse(str2);
} catch (ParseException e) {// 构造时间字符串
date2 = new Date();//如果出错为00:00:00
date2.setHours(0);
date2.setMinutes(0);
date2.setSeconds(0);
}
TimeZone tz = TimeZone.getTimeZone("+0800");
Calendar c1=Calendar.getInstance();
c1.setTimeZone(tz);
c1.setTime(date1);//转成Calendar类型方便计算
Calendar c2=Calendar.getInstance();
c2.setTimeZone(tz);
c2.setTime(date2);//转成Calendar类型方便计算
String str= format.format(c1.getTimeInMillis()+c2.getTimeInMillis());
System.out.println(str);
return StrToTime(str);//返回时间
}
public MyTime StrToTime(String str) {
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
try {
format.parse(str);
return new MyTime(str.substring(0, 2), str.substring(2, 4), str
.substring(4, 6));
} catch (Exception e) {
return new MyTime("00", "00", "00");
}
}
public String toString() {
return hour + ":" + minute + ":" + second;
}
public static void main(String[] args) {
MyTime myTime=new MyTime("01","05","05");
MyTime myTime2=new MyTime("02","02","01");
myTime.TimeAdd(myTime2);
}
}
相加方法小时有问题,是时区问题,不影响
(1)java 创建一个日期类,其中包含三个成员变量,年、月、日。通过成员方法setDate()为这三个成员变量
package chen;
class Riqi
{
private int year;
private int month;
private int day;
public int getYear()
{
return this.year;
}
public void setDate(int year,int month,int day)
{
this.year=year;
this.month=month;
this.day=day;
}
public boolean isLeapYear()
{
//默认为闰年
boolean isLeap=true;
// ①、普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1901年不是闰年)
// 地球公转示意图
// ②、世纪年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
//整除100使用条件2判定
if(this.year%100==0)
{
if(this.year%400==0)
isLeap=true;
else isLeap=false;
//结束判定
return isLeap;
}
//不能整除100,使用条件1判定
else
{
if(this.year%4==0this.year%100!=0)
isLeap=true;
else isLeap=false;
//结束判定
return isLeap;
}
}
}
public class Test{
public static void main(String[] args) {
Riqi riqi=new Riqi();
riqi.setDate(1900, 1, 1);
boolean isLeap=riqi.isLeapYear();
if(isLeap)
System.out.println(riqi.getYear()+"是闰年");
else
System.out.println(riqi.getYear()+"不是闰年");
}
}
用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中如何定义日期型数据?
可能是你没导入包的原因,解决方法,两种:
1,在文件顶部导入包:import java.util.Date;
2.声明时写全:java.util.Date birthday;