import java.security.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
public class Date {
public static int getIntervalDays(Calendar startday,Calendar endday){
//确保startday在endday之前
if(startday.before(endday)){ //判断
Calendar cal=startday;
startday=endday;
endday=cal;
}
//分别得到两个时间的毫秒数
long sl=startday.getTimeInMillis();
long el=endday.getTimeInMillis();
long ei=el-sl;
//根据毫秒数计算间隔天数
return (int)(ei/(1000*60*60*24));
}
//提高计算时间的精度
public int getDaysBetween (Calendar d1, Calendar d2){
if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end
java.util.Calendar swap = d1;
d1 = d2;
d2 = swap;
}
int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
int y2 = d2.get(Calendar.YEAR);
if (d1.get(Calendar.YEAR) != y2) {
d1 = (Calendar) d1.clone();
do {
days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数
d1.add(Calendar.YEAR, 1);
} while (d1.get(Calendar.YEAR) != y2);
}
return days;
}
public static String getSystemTime(){ //好方法
java.util.Date date21=new java.util.Date(); //一定要因对包
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("***"+df.format(date21));
return df.format(date21.getTime());
}
//明天日期
public static void getTomorrow(){ //很好的方法
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss G E D F w W a E F");
java.util.Date myDate=new java.util.Date();
long myTime=(myDate.getTime()/1000)+60*60*24;
myDate.setTime(myTime*1000);
String mDate=formatter.format(myDate);
System.out.println(mDate);
}
//将字符串类型的日期转换为一个Date
public final static java.sql.Date string2Date(String dateString)throws java.lang.Exception {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
return dateTime;
}
public final static java.sql.Timestamp string2Time(String dateString)throws java.text.ParseException {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS", Locale.ENGLISH);//设定格式
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型,timeDate.getTime()返回一个long型
return dateTime;
}
public static void main(String args[]) throws Exception{
Date d = new Date();
System.out.println(d);
//System.out.println(String.format("%tr", new Date()));
//***************************************************
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime()); //获得当前时间
Calendar calendar1 = Calendar.getInstance();
java.util.Date date = calendar1.getTime();
System.out.println(date);
//***********************************************
Date date2=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(date);
System.out.println(calendar.getTime());
//****************************************************
java.util.Date date3=new java.util.Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("***"+df.format(date3));
//******************************************************
Calendar cal3=Calendar.getInstance();
cal3.set(Calendar.YEAR, 2006);
cal3.set(Calendar.MONTH, 8);
cal3.set(Calendar.DAY_OF_MONTH, 3);
int weekno=cal3.get(Calendar.WEEK_OF_YEAR);
System.out.println(cal3.getTime());
//或者 cal.set(2004,1,6,5,40); 表示为2004年1月6号 5点40分
//********************************************************
SimpleDateFormat df4=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal4=Calendar.getInstance();
cal4.set(Calendar.YEAR, 2006);
cal4.set(Calendar.WEEK_OF_YEAR, 1);
cal4.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println(df.format(cal4.getTime()));
//**************************************************
SimpleDateFormat df5=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal5=Calendar.getInstance();
cal5.set(Calendar.YEAR, 2006);
cal5.set(Calendar.MONTH, 8);
cal5.set(Calendar.DAY_OF_MONTH, 3);
cal5.add(Calendar.DATE, -4);
java.util.Date date5=cal5.getTime(), date6;
System.out.println(df5.format(date5));
cal5.add(Calendar.DATE, 4);
date6=cal5.getTime();
System.out.println(df5.format(date6));
// 2006-08-30
// 2006-09-03
//*****************************************************
System.out.println(getIntervalDays(cal4,cal5)); //计算出 两个日期之间的天数
//***********************************************************
System.out.println(getSystemTime());
getTomorrow();
//字符串 ——》 时间的转变
String sToDate = "2005-8-18";//用于转换成java.sql.Date的字符串
String sToTimestamp = "2005-8-18 14:21:12.123";//用于转换成java.sql.Timestamp的字符串
java.util.Date date1 = string2Date(sToDate); //
System.out.println(date1);
java.sql.Timestamp date22 = string2Time(sToTimestamp); //
System.out.println(date22);
}
}
分享到:
相关推荐
Java 之 Date 和 Calendar 实例
关于java中date和Calendar日期处理小结,包含一些常用方法等
031105_【第11章:Java常用类库】_日期操作类(Date、Calendar)笔记
DateControl.zip日期控件——Calendar、DatePicker日历控件案例
NULL 博文链接:https://chaoyi.iteye.com/blog/2082315
`CALENDAR_DATE` varchar(20) COLLATE utf8mb4_general_ci NOT NULL COMMENT '日期 yyyy-MM-dd', `CALENDAR_YEAR` int(10) NOT NULL COMMENT '年', `CALENDAR_QUARTER` int(10) NOT NULL COMMENT '季度 从1开始...
Date类顾名思义,一看就知道是和日期有关的类了,这个类最主要的作用就是获得当 前时间了,然而这个类里面也具有设置时间以及一些其他的功能,可是由于本身设计的问题,这些方法却遭到众多批评,而这些遭受批评的...
LunarCalendar返回农历(阴历)日期的JAR包 根据指定日期计算对应农历日期(这个计算方法是网上找的,最初的作者是谁已经无法考证了,感谢网络资源吧!),本人封装成好用的JAR包后发不出来,供大家免费下载! ...
NULL 博文链接:https://ollevere.iteye.com/blog/1320854
操作Calendar类,非常简单的实现了日期的操作。
本压缩包详尽列举了JavaAPI当中的System、Runtime、Math、Date、Calendar类的实例,特别是日期格式与字符串格式的各种灵活转换。更多内容请参见:http://blog.csdn.net/zhongkelee
日期选择器 可以用于input标签,界面简洁 使用示例: <input type="text" name="dateSD" value="<%=date%>" size="19" onclick="showcalendar(event, this)" onfocus="showcalendar(event, this);if(this.value=='...
java日期的使用介绍和具体实现的示例 (适合新手) 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); time.set(Calendar.MONTH,i-1);//注意,Calendar...
在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。使用Date类的默认构造方法创建出的...
主要介绍了Java Calendar日历与Date日期的相互转换详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本源码资源提供了Java中的日期时间处理类相关内容,包括日期、时间和时区的操作方法和示例。它涵盖了Java编程中常用的日期时间处理需求以及如何使用日期时间类来解决这些问题。 适用人群 本源码资源适用于具备一定...
一个不错的js写的日期时间控件,可以根据自己的需求改成自己需要的显示方式。 使用方法(里面有例子): <link href=\"/styles/calendar.css\" rel=\"stylesheet\" type=\"text/css\"/> ...
start-date 起始日期 String defalut:当前日期 min-date 起始日期 String defalut:null max-date 起始日期 String defalut:null format 显示的格式 String defalut:'yy/mm/dd' 只支持 yy/mm/dd 或 yy-mm-dd ...
java 日期操作汇总包含date calendar 相互转换