JAVA API 日期时间类

目录

一、util.Date/sql.Date/sql.Timestamp

 二、Calendar类

 三、jdk8新增日期类


重点:

日期的获取和设置

日期的格式化(字符格式——日期格式)

日期时间之间的转换

一、util.Date/sql.Date/sql.Timestamp

import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class t12_6_2 {
/**
 * 日期时间类
 * Date/Timestamp的valueOf都是static方法,可以直接用方法名调用
 * @throws ParseException 
 */
	public static void main(String[] args) throws ParseException {
		Date date1=new Date();
		System.out.println("当前时间:"+date1);
		System.out.println("-----------------");

		//获取当前时间 法一(java.sql.Date)		
		long times=System.currentTimeMillis();
		java.sql.Date date2 = new java.sql.Date(times);
		System.out.println(date2);
		
		//获取当前时间 法二(java.util.Date+java.sql.Date)
		long times2=date1.getTime();
		date2 = new java.sql.Date(times2);
		System.out.println(date2);
		System.out.println("-----------------");
		
		//获取当前时间(到毫秒) (java.sql.Timestamp)
		Timestamp time = new Timestamp(times);
		System.out.println(time);
		System.out.println("-----------------");
		
		//字符串——日期(java.sql.Date)
		System.out.println("请输入出生日期");
		Scanner sc=new Scanner(System.in);
		//yyyy-[M]M-[D]D
		String birth = sc.nextLine();//next输入到空格停止,nextLine到回车
		java.sql.Date birthDate = java.sql.Date.valueOf(birth);
		System.out.println(birthDate);
		
		//日期——字符串
		String s_birth = birthDate.toString();
		System.out.println(s_birth);
		System.out.println("-----------------");
		
		//字符串——Timestamp
		//yyyy-[M]M-[D]D HH:MM:SS[.f...]
		System.out.println("请输入出生日期");
		String birth3 = sc.nextLine();
		Timestamp birthtime = Timestamp.valueOf(birth3);
		System.out.println(birthtime);
		System.out.println("-----------------");
		
		//日期——字符串(java.util.Date)
		System.out.println("请输入出生日期");
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		java.util.Date date3 = new java.util.Date();
		String birth2 = sc.nextLine();
		//日期——字符串
		String s_date3=sdf.format(date3);
		//字符串——日期
		Date s_birth4 = sdf.parse(birth2);
		System.out.println(s_date3);
		System.out.println(s_birth4);
	}
}

 二、Calendar类

package t12_6_3;

import java.util.Calendar;
import java.util.Date;
/**
 *使用Calendar类获取指定日期,指定日期
 * @author 惊蛰
 *
 */
public class Test {
public static void main(String[] args) {
	//创建日历对象
	Calendar calendar =Calendar.getInstance();//获得单例方法
	
	//获得日历对象的年份
	int year = calendar.get(Calendar.YEAR);
	System.out.println(year);
	//获得日历对象的月份
	int month = calendar.get(Calendar.MONTH)+1;//月份从0开始
	System.out.println(month);
	//获取月份中的日
	int day = calendar.get(Calendar.DAY_OF_MONTH);
	System.out.println(day);
	//获取当前的星期
	int week = calendar.get(Calendar.DAY_OF_WEEK)+1;//星期从周日开始
	System.out.println(week);
	
	//通过calendar指定日期
	calendar.set(2022, 12,12);
	//calendar--date
	Date date1 = calendar.getTime();
	System.out.println(date1);
	
	//date--calendar
	Date date2 = new Date();
	calendar.setTime(date2);
	System.out.println(calendar.get(Calendar.YEAR));
	System.out.println(calendar.get(Calendar.MONTH)+1);
	System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
}
}

 三、jdk8新增日期类

package t12_6_4;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

/**
 * jdk8新增日期
 * LocalDate 对象的不可变性,类比String
 * @author 惊蛰
 *
 */
public class Test {
public static void main(String[] args) {
	//获取
	LocalDate localdate = LocalDate.now();
	System.out.println(localdate);
	int year = localdate.getYear();
	int month = localdate.getMonth().getValue();//getValue():获取int价值年月
	int day = localdate.getDayOfMonth();
	int weekday = localdate.getDayOfWeek().getValue();
	System.out.println("年"+year);
	System.out.println("月"+month);
	System.out.println("日"+day);
	System.out.println("星期"+weekday);
	
	//设置
	LocalDate birthday = LocalDate.of(2011, 11, 11);
	System.out.println(birthday);
	
	//转换
	//字符串——LocalDate
	String s1="2003-01-30";//月,日必须2位
	LocalDate date1 = LocalDate.parse(s1);
	System.out.println(date1);
	String s2="2003/01/30";
	DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
	LocalDate date2 = LocalDate.parse(s2, formatter);
	System.out.println(date2);
	
	//日期运算
	LocalDate birth1 = LocalDate.of(2003, 1, 30);
	System.out.println("生日"+birth1);
	LocalDate b1 = birth1.plusYears(1);
	System.out.println("加一年"+b1);
	LocalDate b2 = birth1.minusMonths(2);
	System.out.println("两月前"+b2);
	LocalDate b3 = birth1.plusDays(7);
	System.out.println("七天后"+b3);
	
	//比较
	LocalDate date3 = LocalDate.of(2022, 1, 1);
	LocalDate date4 = LocalDate.of(2022, 2, 1);
	System.out.println(date4.isAfter(date3));
	System.out.println(date4.isBefore(date3));
	System.out.println(date4.isEqual(date3));
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值