Java 日期

来源:互联网 发布:淘宝杂货铺店铺介绍 编辑:程序博客网 时间:2024/06/03 12:11

1. Date

1) Date类

注意:是java.util.Date;
而非 java.sql.Date,此类是给数据库访问的时候使用的。

// 当前时间Date d1 = new Date();System.out.println("当前时间:");// 从1970年1月1日 早上8点0分0秒 开始经历的毫秒数Date d2 = new Date(5000);

2) getTime

getTime() 得到一个long型的整数
这个整数代表 从1970.1.1 08:00:00:000 开始 每经历一毫秒,增加1

Date now= new Date();//打印当前时System.out.println("当前时间:"+now.toString());//getTime() 得到一个long型的整数//这个整数代表 1970.1.1 08:00:00:000,每经历一毫秒,增加1System.out.println("当前时间getTime()返回的值是:"+now.getTime());

3. System.currentTimeMillis()

当前日期的耗秒数
new Date().getTime() 和 System.currentTimeMillis() 是一样的
不过由于机器性能的原因,可能会相差几十毫秒,毕竟每执行一行代码,都是需要时间的

Date now= new Date();//当前日期的耗秒数System.out.println("Date.getTime() \t\t\t返回值: "+now.getTime());//通过System.currentTimeMillis()获取当前日期的毫秒数System.out.println("System.currentTimeMillis() \t返回值: "+System.currentTimeMillis());

2. SimpleDateFormat 日期格式化类

1. 日期转字符串

y 代表年
M 代表月
d 代表日
H 代表24进制的小时
h 代表12进制的小时
m 代表分钟
s 代表秒
S 代表毫秒

SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );Date d= new Date();String str = sdf.format(d);System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: "+str);SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );Date d1= new Date();String str1 = sdf1.format(d1);System.out.println("当前时间通过 yyyy-MM-dd 格式化后的输出: "+str1);

2. 字符串转日期

模式(yyyy/MM/dd HH:mm:ss)需要和字符串格式保持一致,如果不一样就会抛出解析异常ParseException

SimpleDateFormat sdf =new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" );String str = "2016/1/5 12:12:12";try {    Date d = sdf.parse(str);    System.out.printf("字符串 %s 通过格式  yyyy/MM/dd HH:mm:ss %n转换为日期对象: %s",str,d.toString());    } catch (ParseException e) {    // TODO Auto-generated catch block    e.printStackTrace();    }

3. Calendar 日历类

1)Calendar与Date进行转换

Calendar c = Calendar.getInstance();//通过日历对象得到日期对象Date d = c.getTime();Date d2 = new Date(0);c.setTime(d2); //把这个日历,调成日期 : 1970.1.1 08:00:00

2)翻日历

add方法,在原日期上增加年/月/日
set方法,直接设置年/月/日

public class TestDate {    private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    public static void main(String[] args) {        Calendar c = Calendar.getInstance();        Date now = c.getTime();        // 当前日期        System.out.println("当前日期:\t" + format(c.getTime()));        // 下个月的今天        c.setTime(now);        c.add(Calendar.MONTH, 1);        System.out.println("下个月的今天:\t" +format(c.getTime()));        // 去年的今天        c.setTime(now);        c.add(Calendar.YEAR, -1);        System.out.println("去年的今天:\t" +format(c.getTime()));        // 上个月的第一天        c.setTime(now);        c.add(Calendar.MONTH, -1);        c.set(Calendar.DATE, 3);        System.out.println("上个月的第三天:\t" +format(c.getTime()));    }    private static String format(Date time) {        return sdf.format(time);    }}
0 0
原创粉丝点击