SimpleDateFormat使用详解

本文展示了如何使用Java的SimpleDateFormat类进行日期时间格式转换,并提供了日期时间的获取和解析方法。包括12小时制与24小时制的时间表示,以及如何将Calendar对象转换为Date对象,反之亦然。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SimpleDateFormat类继承关系

java.lang.Object
   |
   ----java.text.Format
   |
    +----java.text.DateFormat
   |
    +----java.text.SimpleDateFormat
    

12小时制以及24小时制写法

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

public class Test {
	public static void main(String[] args) {
		dateFormat();
	}
	public static void dateFormat() {
		String time1 = "2014-04-17 00:00";
		String time2 = "2014-04-17 15:00";
		Date date = new Date();
		SimpleDateFormat format12 = new SimpleDateFormat("yyyy-MM-dd hh:mm");
		SimpleDateFormat format24 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
	    try {
	    	//time1
			System.out.println("12小时制time1:"+format12.format(format12.parse(time1)));
			System.out.println("24小时制time1:"+format24.format(format24.parse(time1)));
			//time2
			System.out.println("12小时制time2:"+format12.format(format12.parse(time2)));
			System.out.println("24小时制time2:"+format24.format(format24.parse(time2)));
			//当前系统时间
			System.out.println("12小时制时间 :"+format12.format(date));
			System.out.println("24小时制时间 :"+format24.format(date));
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
}
执行结果:
12小时制time1:2014-04-17 12:00
24小时制time1:2014-04-17 00:00
12小时制time2:2014-04-17 03:00
24小时制time2:2014-04-17 15:00
12小时制时间 :2014-04-17 07:34
24小时制时间 :2014-04-17 19:34

时间格式转换
public class Test {
	public static void main(String[] args) {
		Calendar calendar = Calendar.getInstance();  //静态方法getInstance()实例化日历对象
		long time = calendar.getTimeInMillis();
		System.out.println("当前系统时间:"+time);  //当前系统毫秒时间:1397736245451
		System.out.println("当前系统时间:"+getDate(time));  //当前系统时间:2014-04-17 20:04:05
		
		int year = calendar.get(Calendar.YEAR);
		System.out.println(year);  //2014
		int month = calendar.get(Calendar.MONTH);
		System.out.println(month+1);  //4
		int date = calendar.get(Calendar.DATE);
		System.out.println(date);  //17
		System.out.println(calendar.get(Calendar.DAY_OF_MONTH));  //17 这个月的第几天
		int hour12 = calendar.get(Calendar.HOUR);
		System.out.println(hour12);  //8
		int hour24 = calendar.get(Calendar.HOUR_OF_DAY);
		System.out.println(hour24);  //20
		
	}
	//时间格式转换
	public static String getDate(long str){
		Calendar calendar = Calendar.getInstance();
		calendar.setTimeInMillis(str);
		Date date = calendar.getTime();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		return sdf.format(date);
	}
}
public class Test {
	public static void main(String[] args) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Calendar calendar = Calendar.getInstance();
		calendar.set(Calendar.YEAR, 2013);
		calendar.set(Calendar.MONTH, 3);
		calendar.set(Calendar.DAY_OF_MONTH, 15);
		Date date = calendar.getTime();
		System.out.println(sdf.format(date));  //2013-04-15
	}
}
//Calendar转化为Date
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();

//Date转化为Calendar
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值