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获取当前时间是哪一年/那一日/星期几。。。 */ } }