`

关于日期 Date Calendar

    博客分类:
  • java
阅读更多
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`类是处理日期和时间的核心组件。这两个类在不同的Java版本中有着不同的使用方式和功能,对于理解Java时间处理机制至关重要。本篇将深入探讨`Date`和`Calendar`类的实例应用。 ...

    解析Date & Calendar类

    Java中的Date和Calendar类是处理日期和时间的核心工具。这两个类在Java编程中扮演着重要角色,特别是在处理日期计算、格式化以及与数据库交互时。 1. **java.util.Date** - **字符串转时间为Date对象**: 通过`...

    Calendar和Date的转化

    在Java编程语言中,`Calendar`和`Date`是处理日期和时间的重要类。为了更好地理解和使用这两个类之间的转换方法,本文将详细介绍如何将`Calendar`对象转换为`Date`对象,以及如何将`Date`对象转换为`Calendar`对象。...

    Java中Date和Calendar日期处理

    关于java中date和Calendar日期处理小结,包含一些常用方法等

    Date与Calendar详解

    ### Date与Calendar详解:深入理解Java中的日期与时间操作 #### Date类的解析与应用 在Java编程中,`java.util.Date`类是用于表示特定时刻的类,它以自格林尼治时间(GMT)1970年1月1日午夜以来经过的毫秒数来存储...

    日期操作类(Date、Calendar)笔记

    031105_【第11章:Java常用类库】_日期操作类(Date、Calendar)笔记

    java中时间类Date和Calendar的使用

    Java中的时间类`Date`和`Calendar`是处理日期和时间的核心组件,它们在Java编程中扮演着重要的角色。在Java中,`Date`类主要用来表示特定的瞬间,精确到毫秒。而`Calendar`类则是一个抽象类,提供了比`Date`更灵活的...

    Calendar和Date

    在Java编程语言中,`Calendar`和`Date`类是用于处理日期和时间的核心类。它们在处理日期和时间操作时扮演着重要角色。这里我们将深入探讨这两个类以及它们之间的对比,同时展示如何计算上月某一天的日期以及获取指定...

    JAVA Calendar,Date类详解

    在Java编程语言中,`Calendar`和`Date`类是处理日期和时间的核心组件。这两个类在处理日期、时间计算以及格式化等任务时扮演着关键角色。理解并熟练运用它们,对于提升Java开发能力至关重要。 `Date`类是Java早期...

    Java基础之Date和Calendar类的使用方法

    Java中的Date和Calendar类是处理日期和时间的核心组件。Date类主要用于表示特定的瞬间,精确到毫秒。在早期版本的Java中,Date类的设计受到批评,因为它的API不直观且容易导致错误。为了解决这些问题,大部分日期和...

    DateCalendar

    《DateCalendar:一款可跨年跨月连续日期选择的C#自定义日历控件》 在软件开发中,日历控件是一个常见的组件,它用于用户选择日期或日期范围。然而,对于某些特定需求,如跨年、跨月以及连续日期选择,标准的日历...

    Calendar日期代码详解

    根据提供的文件信息,本文将对Java中的`Calendar`类进行详细的解析,并且通过示例代码进一步阐述其在日期与时间处理中的应用。 ### Calendar日期代码详解 #### 1. Calendar 类简介 `java.util.Calendar` 类是 ...

    Java 之 Date 和 Calendar

    在Java编程语言中,`Date`和`Calendar`类是处理日期和时间的核心组件。这两个类在不同的Java版本中有着不同的用法和功能,对于理解并正确使用它们是Java开发者必备的知识点。 `Date`类在早期的Java版本中被广泛使用...

    java 中Calendar日期格式的转换

    在Java编程语言中,`Calendar`类是处理日期和时间的核心工具之一,它提供了一种可以操作日期和时间字段(如年、月、日、时、分、秒等)的灵活方式。`Calendar`类是抽象的,因此我们通常通过其子类如`...

    Calendar-js选日期

    "js日期控件.txt"文件可能包含了关于如何使用Calendar-js的更多细节和示例代码,建议仔细阅读以深入了解。官方文档通常会提供详细的API参考、配置选项以及常见问题解答,是学习和使用该库的重要资源。 总的来说,...

    js 日期控件 calendar

    在本主题中,我们关注的是一个特定的JS组件——"日期控件",通常称为"calendar"。这种控件允许用户通过图形用户界面方便地选择日期,常见于各种在线表单、预订系统或时间管理应用中。 "js 日期控件 calendar" 是一...

    JAVA new Date()或Calendar.getInstance().getTime()得到的时间不对

    另一方面,`Calendar` 类是比 `Date` 更为复杂的日期和时间处理工具,提供了更多的功能,如日历字段操作、时区转换等。通过 `Calendar.getInstance()` 获取到的是一个 `Calendar` 实例,代表当前系统时间。调用 `...

    String、Calendar、Date间的相互转换

    ### String、Calendar、Date间的相互转换 ...以上就是关于`String`、`Calendar`、`Date`之间的相互转换以及一些扩展的日期处理技巧。这些转换方法是进行日期处理的基础,对于开发人员来说非常实用。

    Date日期操作工具类

    在Java编程中,Date类是处理日期和时间的基础类,但在实际开发中,由于Date类本身的API设计并不十分友好,通常我们会使用工具类来简化日期的处理工作。本主题聚焦于一个名为"Date日期操作工具类"的实用工具,它提供...

    Date、String、Calendar之间的转换_java编程_

    在Java编程中,Date、String和Calendar是三个重要的日期时间处理类,它们之间相互转换的技巧是开发者必备的知识。理解并熟练掌握这三者之间的转换,对于处理日常的日期时间问题至关重要。 首先,我们来看`Date`类。...

Global site tag (gtag.js) - Google Analytics