时间日期类
2019-08-26 06:17:03来源:博客园 阅读 ()
时间日期类
package com.mw.platform.util;
import java.io.Serializable;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
//时间类(参考了.net 的接口)
//
// demo:: int date = Datetime.Now().addDay(-3).getDate();
//
public class Datetime implements Serializable {
private Date _datetime;
private Calendar _calendar = null;
public Datetime(){
setFulltime(new Date());
}
public Datetime(Date date) {
setFulltime(date);
}
public Datetime(long milliseconds) {
setFulltime(new Date(milliseconds));
}
public Datetime setFulltime(Date date) {
_datetime = date;
_calendar = Calendar.getInstance();
_calendar.setTime(date);
return this;
}
/* public Datetime setFulltime1(Date date){
_datetime = date;
_calendar = Calendar.getInstance();
_calendar.setTime(date);
return this;
}*/
public Date getFullTime() {
return _datetime;
}
// 当前时间
public static Datetime Now() {
return new Datetime(new Date());
}
// 添加年
public Datetime addYear(int year) {
return doAdd(Calendar.YEAR, +year);
}
// 添加月
public Datetime addMonth(int month) {
return doAdd(Calendar.MONTH, +month);
}
// 添加日
public Datetime addDay(int day) {
return doAdd(Calendar.DAY_OF_MONTH, +day);
}
// 添加小时
public Datetime addHour(int hour) {
return doAdd(Calendar.HOUR_OF_DAY, +hour);
}
// 添加分钟
public Datetime addMinute(int minute) {
return doAdd(Calendar.MINUTE, +minute);
}
// 添加秒
public Datetime addSecond(int minute) {
return doAdd(Calendar.SECOND, +minute);
}
private Datetime doAdd(int field, int amount) {
_calendar.add(field, +amount);
_datetime = _calendar.getTime();
return this;
}
// 获取当前年份
public int getYear() {
return _calendar.get(Calendar.YEAR);
}
// 获取当前月份
public int getMonth() {
return _calendar.get(Calendar.MONTH);
}
// 获取当前日份
public int getDays() {
return _calendar.get(Calendar.DAY_OF_MONTH);
}
// 获取当前小时
public int getHours() {
return _calendar.get(Calendar.HOUR_OF_DAY);
}
// 获取当前分钟
public int getMinutes() {
return _calendar.get(Calendar.MINUTE);
}
// 获取当前秒数
public int getSeconds() {
return _calendar.get(Calendar.SECOND);
}
// 获取当前豪秒
public long getMilliseconds() {
return _calendar.get(Calendar.MILLISECOND);
}
// 获取总天数(相对于:1970.01.01 00:00:00 GMT)
public long getAllDays() {
return getAllHours() / 24;
}
// 获取总小时(相对于:1970.01.01 00:00:00 GMT)
public long getAllHours() {
return getAllMinutes() / 60;
}
// 获取总分钟(相对于:1970.01.01 00:00:00 GMT)
public long getAllMinutes() {
return getAllSeconds() / 60;
}
// 获取总秒(相对于:1970.01.01 00:00:00 GMT)
public long getAllSeconds() {
return getTicks() / 1000;
}
// 获取总毫秒(相对于:1970.01.01 00:00:00 GMT)
public long getAllMilliseconds() {
return getTicks();
}
// 获取计时周期数(相对于:1970.01.01 00:00:00 GMT)
public long getTicks() {
return _datetime.getTime();
}
// 获取日期数字(yyyyMMdd)
public int getDate() {
return Integer.parseInt(toString("yyyyMMdd"));
}
// 转成String
public String toString(String format) {
DateFormat df = new SimpleDateFormat(format);
return df.format(_datetime);
}
/*public String toString1(String format){
DateFormat df1= new SimpleDateFormat(format);
return df1.format(-_datetime);
}*/
@Override
public String toString() {
return toString("yyyy-MM-dd HH:mm:ss");
}
/**
* @return 获取指定日期的本月第一天
*/
public Datetime getMonthFirstDay() {
_calendar.add(Calendar.MONTH, 0);
_calendar.set(Calendar.DAY_OF_MONTH, 1);
Datetime datetime = new Datetime(_calendar.getTime());
return datetime;
}
/*public Datetime getMonthFirstDay1(){
_calendar.add(Calendar.MONTH,0);
_calendar.set(Calendar.DAY_OF_MONTH,1);
Datetime datetime = new Datetime(_calendar.getTime());
return datetime;
}*/
/**
* @return 获取指定日期的本月最后一天
*/
public Datetime getMonthLastDay() {
_calendar.set(Calendar.DAY_OF_MONTH,
_calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
Datetime datetime = new Datetime(_calendar.getTime());
return datetime;
}
/**
* @return 获取指定日期的周一日期
*/
public Datetime getTimesWeekmorning() {
_calendar.set(_calendar.get(Calendar.YEAR), _calendar.get(Calendar.MONDAY),
_calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
_calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
Datetime datetime = new Datetime(_calendar.getTime());
return datetime;
}
/**
* @return 获取指定日期的周日日期
*/
public Datetime getTimesWeeknight() {
_calendar.setTime(getTimesWeekmorning().getFullTime());
_calendar.add(Calendar.DAY_OF_WEEK, 6);
Datetime datetime = new Datetime(_calendar.getTime());
return datetime;
}
// ===================
//
public static Datetime parse(String datetime, String format)
throws ParseException {
DateFormat df = new SimpleDateFormat(format);
Date date = df.parse(datetime);
return new Datetime(date);
}
public static Datetime tryParse(String datetime, String format) {
DateFormat df = new SimpleDateFormat(format);
try {
Date date = df.parse(datetime);
return new Datetime(date);
} catch (Exception ex) {
return null;
}
}
}
原文链接:https://www.cnblogs.com/21-forever/p/11389333.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 短短两个月的时间面试了十几次,我终于成为无情的面试机器了 2020-06-04
- Java获取当前时间到凌晨12点剩余秒数 2020-06-03
- 如何短时间内快速通过Java面试 2020-06-01
- httpclient 5.0 设置超时时间 2020-05-28
- 第六章第三十三题(当前日期和时间)(Current date and time 2020-05-22
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash