Java工具类-Calendar日历类
原创约 1046 字大约 3 分钟...
220-Java工具类-Calendar日历类.md
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
概念

示例代码
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