您的位置:首页 > 编程语言 > Java开发

3.5 java基础总结日期相关类①Date②Calender

2016-03-07 20:59 387 查看
日期相关类①Date②Calender

一、Date
时间原点:1970.1.1 0:00:00:00每一千年会越界,long型
Date now = new Date();
System.currentTimeMillis();距时间原点的毫秒数,常常用来测试代码用了多少毫秒,两句中间放测试代码

Date:
1、得当前时间和日期,常用Date
2、做日期比较,after ,before,equals
3、打印日期字符串,常用SimpleDateFormat类配合使用们可以创建格式化模板
4、根据设置得到指定日期,不方便,使用Calender

Date now = new Date();
SimpleDateFormat S = new SimpleDateFormat("yy年M月dd日 HH:mm:ss");
hh:12小时制,yyyy:四位年,E周几

System.out.prinln(S.format(now));

i18n 国际化
internationaliza tion 第一个i和最后一个n中间还有18个

二、Calender 日历类,抽象类,直接子类格林高治历,现在的公历
Calender cal = Calender.getInstance();得到格林高治的实例,因为new子类实在太麻烦,这里提供了一个得到子类实例的方法
常用,获取日历实例对象

可以快速设定日期

两种方法将Calender转换为Date

Date 的构造
Calender的方法
API

Date date = cal.getTime();
date = new Date(cal.getTimeInmillis());

反过来:cal.getInstanceOf
setTime;

package com.systemTest;

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

import javax.swing.JOptionPane;

/**
* @Author: YuanqiuChen
* @Date:2016-3-3-上午10:45:50
*
*
*/

public class DateTest {
public static void main(String[] args) {
//        long start = System.currentTimeMillis();
//        for (int i = 0; i < 1000; i++) {
//            System.out.println("haha");
//        }
//        long end = System.currentTimeMillis();
//        System.out.println(end - start);

//两个 一个Date 一个Calendar
//1、得当前时间日期,常用Date
//2、做日期比较,after before equals
//3、打印日期字符串的时候,常用SimpleDateFormat类配合使用,可以自己创建格式化模板
//4、根据设置得到指定时间,使用Date不方便,推荐使Calendar

Date now = new Date();//得到当前时间毫秒数 util包
Date past = new Date(100000000);//用形参代表毫秒数,得到形参所代表的时间
System.out.println(now);
System.out.println(now.getTime());

SimpleDateFormat sdf = new SimpleDateFormat("yy年MM月d日 HH:mm:ss E");
System.out.println(sdf.format(now));

Calendar cal = Calendar.getInstance();
String[] week = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

//一周的第几天,周日是第一天,星期天是在数组中下标为0
System.out.println(cal.get(Calendar.DATE) + week[cal.get(Calendar.DAY_OF_WEEK)-1]);

String date = JOptionPane.showInputDialog("请输入年月日,格式2000-07-27");

String[] temp = date.split("-");
int year = Integer.parseInt(temp[0]);
int mon = Integer.parseInt(temp[1]);
int day = Integer.parseInt(temp[2]);

cal.set(year,mon-1,day);

JOptionPane.showMessageDialog(null,year+"年" + mon+"月"+day+"日" + week[cal.get(cal.DAY_OF_WEEK)-1]);

//两种方法两Calendar转换为Date
Date date1 = cal.getTime();
date1 = new Date(cal.getTimeInMillis());

//反过来,cal.getInstancof    setTime

//转换为date ,用SimpleDateFormat,控制格式E
sdf = new SimpleDateFormat("E");
System.out.println("hahaha" + sdf.format(date1));

//月份从0开始,所以减一
cal.set(1991,3-1,27);

//一周的第几天,周日是第一天,星期天是在数组中下标为0
System.out.println(week[cal.get(Calendar.DAY_OF_WEEK)-1]);

System.out.println(cal.get(Calendar.YEAR));
System.out.println(cal.get(Calendar.DATE));
System.out.println(cal.get(Calendar.MONTH));

System.out.println(sdf.format(cal.getTime()));

}
}


DateTest
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: