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");
推荐阅读
-
Java中的日期时间 博客分类: java开发总结 java日期时间格式化java.util.Date
-
java根据年和周获取当前的日期时间段 博客分类: 开发实例 java日期
-
SimpleDateFormat 的使用注意点 博客分类: Java javaSimpleDateFormat日期格式化DateFormat
-
java中时间格式要求大小写严格 博客分类: javaString转date日期格式化 java字符串转日期日期格式化
-
Java 8中日期和时间的处理方法
-
Java 8中日期和时间的处理方法
-
学习Java中的日期和时间处理及Java日历小程序的编写
-
Java8时间日期库中的常用使用示例
-
学习Java中的日期和时间处理及Java日历小程序的编写
-
Java8时间日期库中的常用使用示例