1 import java.util.Date;
2
3 /**
4 * java.util.Date
5 * Date的每一个实例用于表示一个时间点
6 * Date内部维护一个long值,该值是UTC时间即:
7 * 1970年1月1日零点整到该Date表示的时间之间所经过的毫秒
8 * 由于Date 存在时区和千年虫的问题,所以大部分操作时间的方法都被声明过时
9 * 操作时间交给Calendar类来完成
10 * @author Kenson
11 *
12 */
13 public class DataDemo {
14 public static void main(String[] args) {
15 /**
16 * 默认实例化出来的Date表示当前系统时间
17 */
18 Date now = new Date();
19 long time= now.getTime();
20 System.out.println(time);
21 /**
22 * 查看25 天以后的毫秒值
23 时刻记住: java中所有的默认数值计算是int型
24 */
25 time +=25*1000*60*60*24L;
26 now.setTime(time);//
27 System.out.println(now);
28 }
29 }
/**
* 将一个字符串解析成data
* @author Kenson
*
*/
public class SimpleDateFormat_parse {
public static void main(String[] args) throws ParseException {
String str ="2008-08-08 20:08:08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* String -->Date
* 将给定的字符串按照SimpleDateFormat指定的日期格式解析成为一个Data对象
*
* SimpleDateFormat 字符串与日期互转的
* 下面主要是两个方法: parse 和 format
*
*/
Date date = sdf.parse(str);
System.out.println(date);
}
}
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
* void add (int field,int value)
* 对指定的时间分量加上给定的值,若给定的值是负数,则减去
* @author Kenson
*
*/
public class Calendar_add {
public static void main(String[] args) {
Calendar calendar =Calendar.getInstance();
/**
* 计算 三年俩个月零25天是几月几号
*/
//加年
calendar .add(Calendar.YEAR, 3);
calendar.add(Calendar.MONTH, 2);
calendar.add(Calendar.DAY_OF_YEAR, 25);
System.out.println(calendar.getTime());
//查找那一周里面的星期五
calendar.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
//查找当天的前一天
calendar.add(Calendar.DAY_OF_YEAR, -1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(calendar.getTime());
System.out.println(date);
System.out.println(calendar.getTime());
/**
* int getActualMaximum(int field)
* 返回给定时间分量所允许的最大值
* 参照日期为当前calendar所表示的日期
*/
//查看当前月份的天数
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(days);
}
}
import java.util.Calendar;
/**
* Calendar 提供了根据给定时间分量获取对应值得方法:
* int get(int field)
*
* 时间分量对应的就是Calendar提供的相应常量
* @author Kenson
*
*/
public class Calendar_get {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
/**
* 天 有不同的时间分量:
* DAY_OF_MOUTH: 月中的天,即:几号
* DAY_OF_WEEK周中的天 即 星期几
*/
int year = calendar.get(Calendar.YEAR);
int mouth = calendar.get(Calendar.MONTH)+1;
int day = calendar.get(Calendar.DATE);
System.out.println(year+"-"+mouth+"-"+day);
/**
* 获取 时 分 秒
*/
int hour= calendar.get(Calendar.HOUR_OF_DAY);
int min = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println(hour +":"+ min+ ":"+second);
int day_Year = calendar.get(Calendar.DAY_OF_YEAR);
System.out.println("今年是今天的第"+day_Year+"天");
/*
* 查看 今天是星期几 利用数组的下标进行赋值
*/
int days = calendar.get(Calendar.DAY_OF_WEEK)-1;
String[] datas ={"日","一","二","三","四","五","六"};
System.out.println("今天是星期"+datas[days]);
}
}
package com.Kenson.javase.next03;
import java.util.Calendar;
import java.util.Date;
/**
* java.util.calendar
*
* 日历类,是一个抽象类,定义了相关的常量以及日历相关操作
* 日期的方法。
* 通常实现类:GregorianCalendar 即 阳历
*
* Calendar 提供了一个静态的方法: geinstance,该方法可以根据当前的系统所在地区获取一个适用的实现类
* @author Kenson
*
*/
public class Calendar_getInstance{
public static void main(String[] args) {
/**
* 默认创建出来的也是表示当前系统时间
*/
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
/**
* Calendar 与Date进行互转
* Calendar提供了方法:
* Date getTime();
*/
Date date = calendar.getTime();
System.out.println(date);
/**
*使当前Calendar表示给定的Date所表示的日期
*/
calendar.setTime(date);
/**
* 通过Calendar获取当前时间是哪一年/那一日/星期几。。。
*/
}
}