欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中的日期时间 博客分类: java开发总结 java日期时间格式化java.util.Date 

程序员文章站 2024-03-16 19:24:40
...

 

一、通过java.util.Date类获取时间:

 

package com.test;

import java.text.DateFormat;
import java.util.Date;

public class TestDate {
	//以下默认时间日期显示方式都是汉语语言方式
	//一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:2008-6-16 20:54:53
	//以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestCalendar.java
	
	public static void main(String[] args) {
		
		Date date=new Date();
		
		//2014-3-24
		DateFormat d1=DateFormat.getDateInstance(); //默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-16 20:54:53)
		String str1=d1.format(date);
		
		//2014-3-24 16:56:07
		DateFormat d2=DateFormat.getDateTimeInstance();
		String str2=d2.format(date);

		//16:58:27
		DateFormat d3=DateFormat.getTimeInstance();
		String str3=d3.format(date);
		
		//14-3-24 下午4:59
		DateFormat d4=DateFormat.getInstance();//使用SHORT风格显示日期和时间
		String str4=d4.format(date);
		
		//2014年3月24日 星期一 下午05时01分32秒 CST
		DateFormat d5=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);//显示日期,周,时间(精确到秒)
		String str5=d5.format(date);
		
		//2014年3月24日 下午05时04分16秒
		DateFormat d6=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);//显示日期。时间(精确到秒)
		String str6=d6.format(date);
		
		//14-3-24 下午5:05
		DateFormat d7=DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);//显示日期,时间(精确到分)
		String str7=d7.format(date);
		
		//2014-3-24 17:06:45
		DateFormat d8=DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM); //显示日期,时间(精确到分)
		String str8=d8.format(date);//与SHORT风格相比,这种方式最好用
		
		
		System.out.println("用Date方式显示时间: " +date );//默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-16 20:54:53)
		System.out.println("用DateFormat.getDateInstance()方式显示时间: " + str1);
		System.out.println("用DateFormat.getDateTimeInstance()方式显示时间: " + str2);
		System.out.println("用DateFormat.getTimeInstance()方式显示时间: " + str3);
		System.out.println("用DateFormat.getInstance()方式显示时间: " + str4);
		System.out.println("用DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL)方式显示时间: " + str5);
		System.out.println("用DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG)方式显示时间: " + str6);
		System.out.println("用DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)方式显示时间: " + str7);
		System.out.println("用DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM)方式显示时间: " + str8);
	
	}
	
}

 

二、通过java.util.Calendar类获取时间:

 

 

 

 

package com.test;

import java.util.Calendar;

public class TestCalendar {

	//以下是利用Calendar类来实现日期时间的,和Date类相比较比较简单
	
	
	
	public static void main(String[] args) {
		
		
		Calendar calendar=Calendar.getInstance();

		
		int year=calendar.get(Calendar.YEAR);//获取年
		int month=calendar.get(Calendar.MONTH)+1;//获取月,需加1
		int day=calendar.get(Calendar.DATE);//获取日
		
		int minute=calendar.get(Calendar.MINUTE);//获取小时
		int hour=calendar.get(Calendar.HOUR);//获取分钟
		int second=calendar.get(Calendar.SECOND);//获取秒
		
		int weekOfYear=calendar.get(Calendar.DAY_OF_WEEK);//显示今天是一周的第几天,周日为第一天,周六为最后一天,即周日显示为1,周六显示为7
		
		
		//Mon Mar 24 17:19:29 CST 2014
		System.out.println("用Calendar.getInstance().getTime()方式显示时间: " + calendar.getTime());
		
		//2014年3月24日
		System.out.println("用Calendar获得日期是:" + year +"年"+ month +"月"+ day + "日");
			     
		//5时19分29秒
		System.out.println("用Calendar获得时间是:" + hour +"时"+ minute +"分"+ second +"秒");
		
		//2     周一
		System.out.println(weekOfYear);


		
		
	}
	

	
}

 

 

 

 

 

三、其他方式获取时间:

 

 

 

package com.test;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Test3 {
	
	
	public static void main(String[] args) {
		
		
		// 获取当前系统时间和日期并格式化输出:
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String time1=sdf.format(new Date());// new Date()为获取当前系统时间

		//2014-03-24 17:26:50
		System.out.println("通过SimpleDateFormat(yyyy-MM-dd HH:mm:ss)方式获得的时间:"+time1);
		
		
		
		
		Long currentTime=System.currentTimeMillis();//获得当前系统时间的毫秒数
		
		Date nowTime = new Date(System.currentTimeMillis()); //获得当前系统时间:  Mon Mar 24 17:52:27 CST 2014
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");//格式化时间
		String nowDate = sdf2.format(nowTime);

		//1395654936679
		System.out.println(currentTime);
		//Mon Mar 24 17:55:36 CST 2014
		System.out.println(nowTime);
		//2014-03-24
		System.out.println(nowDate);
		
		
		
	}

}

 

 

 

四、数据库中时间的操作:

 

 

数据库查询时间:

 

 

select * from contribution where conDate between '2014-03-14' and '2014-03-15'

  

在数据库里的日期只以年--日的方式输出,可以用下面两种方法:

 

1、用convert()转化函数:

 

 

String sqlst = "select convert(varchar(10),bookDate,126) as convertBookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'";

System.out.println(rs.getString("convertBookDate"));

 

   2、利用SimpleDateFormat类:

 

import java.util.Date;
import java.text.SimpleDateFormat;

SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd);

String sqlStr = "select bookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'";

System.out.println(df.format(rs.getDate("bookDate")));

 

 

五、格式化String类型的日期:

 

有时候要把String类型的时间转换为Date类型,通过以下的方式,就可以将你刚得到的时间字符串转换为Date类型了。

 

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