Java 日期与时间

日期与时间

  1. java.util 包提供了 Date 类来封装当前的日期和时间。
    Date 类提供两个构造函数来实例化 Date 对象。
  2. 第一个构造函数使用当前日期和时间来初始化对象。Date()
  3. 第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
    Date(long millisec)

获取当前时间和日期

Java中获取当前日期和时间很简单,使用 Date 对象的 toString() 方法来打印当前日期和时间即可

import java.util.Date;

public class DateDemo { 
	public static void main(String args[]) 
	{	 // 初始化 Date 对象 
		Date date = new Date(); 
		// 使用 toString() 函数显示日期时间 
		System.out.println(date.toString()); 
	} 
}

使用SimpleDateFormat来格式化日期

SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许选择任何自定义日期时间格式.

import java.util.*; 
import java.text.*; 

public class DateDemo { 
	public static void main(String args[]) { 
		Date dNow = new Date( ); 
		SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz"); 
		System.out.println("Current Date: " + ft.format(dNow) ); 
	} 
}

yyyy 是公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。
注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。

使用printf格式化日期

printf 方法可以很轻松地格式化时间和日期。使用两个字母格式, 它以 %t 开头并且以下面表格中的一个字母结尾。
在这里插入图片描述

import java.util.Date;
 public class DateDemo { 
 public static void main(String args[]) {
  Date date = new Date(); // 初始化 Date 对象 
  System.out.printf("全部日期和时间信息: %tc%n",date); //c的使用
  System.out.printf("年-月-日格式: %tF%n",date); //f的使用
  System.out.printf("月/日/年格式: %tD%n",date); //d的使用
  System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date); //r的使用
  System.out.printf("HH:MM:SS格式(24时制): %tT%n",date); //t的使用
  System.out.printf("HH:MM格式(24时制): %tR",date); //R的使用 } } 

在这里插入图片描述

Calendar类

1.Canlendar 与 Date 进行转换

package date;
  
//
import java.util.Calendar;
import java.util.Date;
  
public class TestDate {
  
    public static void main(String[] args) {
        //采用单例模式获取日历对象Calendar.getInstance();
        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方法,直接设置年/月/日

package date;
 
import java.text.SimpleDateFormat;
//
import java.util.Calendar;
import java.util.Date;
 
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);
    }
}

更多calendar类方法可见:https://blog.csdn.net/ytasdfg/article/details/81086118

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值