Java工具类-Calendar日历类

涎涎原创约 1046 字大约 3 分钟...JavaJava

220-Java工具类-Calendar日历类.mdopen in new window

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

概念

示例代码

package com.tencent.chapter01.日期类;

import java.util.Calendar;
import java.util.Date;

public class CalendarDemo {

	public static void main(String[] args) {
		/**
		 * 1.创建对象
		 */
		Calendar calendar = Calendar.getInstance();
		System.out.println(calendar);
		
		/**
		 * 2.常用方法
		 */
		//set() 根据指定的时间属性,替换原有的日期
		//calendar.set(2020, 1, 1, 17, 16, 10);
		//System.out.println(calendar);
		
		//add() 添加日期属性
		//calendar.add(Calendar.DAY_OF_MONTH, 5);//加5天
		//System.out.println(calendar);
		
		//calendar.add(Calendar.MONTH, 1);//加1月
		//System.out.println(calendar);
		
		//get() 获取指定属性的日期信息
		int year = calendar.get(Calendar.YEAR);
		int month = calendar.get(Calendar.MONTH) + 1;  // 0~11 表示1-12月
		int day = calendar.get(Calendar.DAY_OF_MONTH);
		
		int hour12 = calendar.get(Calendar.HOUR);       //12小时制
		int hour24 = calendar.get(Calendar.HOUR_OF_DAY);//24小时制
		
		int minute = calendar.get(Calendar.MINUTE);
		int second = calendar.get(Calendar.SECOND);
		
		int weekday = calendar.get(Calendar.DAY_OF_WEEK);//1~7表示星期日~星期六
		
		int am = calendar.get(Calendar.AM_PM);//上午 0  下午1
		
		//2019-9-5  17:27:32  5 1
		System.out.println(year + "-" + month + "-" + day + "  " + hour24 + ":" + minute + ":" +second + "  " + weekday + " " + am);
	
		//getTime() : 将Calendar -> Date
		Date date = calendar.getTime();
	}
	
}
package com.tencent.chapter01.日期类;

import java.util.Date;

public class DateDemo {

	public static void main(String[] args) {
		/**
		 * 1.创建对象
		 */
		//1.获取当前系统时间
		Date now = new Date();
		System.out.println(now);//Thu Sep 05 11:11:53 CST 2019
		
		//2.获取指定毫秒值的日期
		Date date = new Date(1667653204883L);
		System.out.println(date);//Sat Nov 05 21:00:04 CST 2022
		
		/**
		 * 2.常用方法
		 */
		//getTime() 获取日期毫秒值
		System.out.println(now.getTime());//1567653204883
		
		//after() 测试此日期是否在指定日期之后
		System.out.println(now.after(date)); //now > date,返回true,否则false
		
		//before() 测试此日期是否在指定日期之前
		System.out.println(now.before(date));//now < date,返回true,否则false
		
		//compareTo() 比较两个日期的顺序
		System.out.println(now.compareTo(date));//  -1 now < date,返回-1
		System.out.println(date.compareTo(now));//  1  date > now,返回+1
		System.out.println(date.compareTo(date));// 0 两个日期相等,返回0
		
		//equals() 比较两个日期是否相等,比较两个日期的毫秒值
		System.out.println(now.equals(date));//false
		
		//toLocaleString() 将日期转换为本地格式字符串
		System.out.println(now.toLocaleString());//2019-9-5 11:20:27
	}
	
}
package com.tencent.chapter01.日期类;

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

/**
 * 日期工具类:
		String -> java.util.Date
		java.util.Date -> String
		
		String -> Calendar
		Calendar -> String
		
		java.sql.Date -> java.util.Date<略>
		java.util.Date -> java.sql.Date<略>
 */
public class DateUtil {
	
	private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

	/**
	 * String -> java.util.Date
	 * 
	 * @param source 字符串格式的日期
	 * @return  java.util.Date
	 */
	public static Date stringToUtilDate(String source)
	{
		try {
			return sdf.parse(source);
			
		} catch (ParseException e) {
			e.printStackTrace();
		}
		
		return null;
	}
	
	/**
	 * java.util.Date -> String
	 * 
	 * @param date 日期
	 * @return 格式化之后的日期字符串
	 */
	public static String utilDateToString(Date date)
	{
		return sdf.format(date);
	}
	
	/**
	 * String -> Calendar : 
	 *  		实际转换路径 String -> Date -> Calendar
	 *  
	 * @param source 字符串格式的日期
	 * @return Calendar日历
	 */
	public static Calendar stringToCalendar(String source)
	{
		try {
			//字符串  -> Date
			Date date = sdf.parse(source);
			
			//Date -> Calendar
			Calendar calendar = Calendar.getInstance();
			calendar.setTime(date);
			
			return calendar;
			
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return null;
	}
	
	/**
	 * Calendar -> String : 
	 * 			实际转换路径  Calendar -> Date -> String
	 * 
	 * @param calendar 日历类
	 * @return 格式化后的日期字符串
	 */
	public static String calendarToString(Calendar calendar)
	{
		//Calendar -> Date
		Date date = calendar.getTime();
		
		//Date -> String
		return sdf.format(date);
	}
}
package com.tencent.chapter01.日期类;

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

public class SimpleDateFormatDemo {

	public static void main(String[] args) throws ParseException {
		/**
		 * format() 日期 -> 指定格式的字符串
		 * 
		 * 		M 月份
		 *      m 分钟
		 *      H 24小时制
		 *      h 12小时制
		 *      E 星期
		 *      a 午别
		 */
		Date now = new Date();
		System.out.println(now);//Thu Sep 05 11:21:19 CST 2019
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//数据库 yyyy-mm-dd hh24:mi:ss
		String strDate = sdf.format(now);
		System.out.println(strDate);//2019-09-05 11:23:39
		
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//数据库 yyyy-mm-dd hh24:mi:ss
		String strDate2 = sdf2.format(now);
		System.out.println(strDate2);//2019/09/05 11:24:20
		
		SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss E a");//数据库 yyyy-mm-dd hh24:mi:ss
		String strDate3 = sdf3.format(now);
		System.out.println(strDate3);//2019年09月05日  11:28:10  星期四  上午
		
		/**
		 * parse() 指定格式的字符串 -> 日期
		 */
		String str = "2019-09-05 11:25:21";
		System.out.println(sdf.parse(str));//Thu Sep 05 11:25:21 CST 2019
		
		String str2 = "2019/09/05 11:25:21";
		System.out.println(sdf2.parse(str2));//Thu Sep 05 11:25:21 CST 2019
		
		String str3 = "2019年09月05日  11:25:21 星期四 上午";
		System.out.println(sdf3.parse(str3));//Thu Sep 05 11:25:21 CST 2019
	}

}

分割线


相关信息

以上就是我关于 Java工具类-Calendar日历类 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4