DateUtil工具类

package com.workit.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtil{

public static final String DATE_DEFAULT_FORMAT="yyyy-MM-dd HH:mm:ss";

public static final String DATE_DAY_SPE_FORMAT="yyyy-MM-dd";

public static final String DATE_DATETIME_FORMAT="yyyyMMddHHmmss";

public static final String DATE_TIME_FORMAT="HH:mm:ss";

public static final String DATE_MON_FORMAT="yyyyMM";


/**
* @see 日期转字符串
* @param date
* @param format:时间格式
* @return dateStr:时间字符串
* @author XiaBingCheng
* @date 2017-07-24
*/
public static String DateToString(Date date){
SimpleDateFormat sdf = new SimpleDateFormat(DATE_DEFAULT_FORMAT);
String dateStr = sdf.format(date);
System.out.println(dateStr);
return dateStr;
}

/**
* @see 字符串转日期
* @param str
* @param format:时间格式
* @return date
* @author XiaBingCheng
* @date 2017-07-24
*/
public static Date StringToDate(String str){
SimpleDateFormat sdf = new SimpleDateFormat(DATE_DEFAULT_FORMAT);
Date date = new Date();
try {
date = sdf.parse(str);
System.out.println(date.toLocaleString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}

/**
* @see获取昨天的时间
* @param format:时间格式
* @return sdf.format(calendar.getTime())
* @author XiaBingCheng
* @date 2017-07-24
*/
public static String GetYesterDay(){
SimpleDateFormat sdf = new SimpleDateFormat(DATE_DAY_SPE_FORMAT);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1);
System.out.println(sdf.format(calendar.getTime()));
return sdf.format(calendar.getTime());
}

/**
* @see 获取上个月的时间
* @param format:时间格式
* @return sdf.format(calendar.getTime())
* @author XiaBingCheng
* @date 2017-07-24
*/
public static String GetLastMonthDay(){
SimpleDateFormat sdf = new SimpleDateFormat(DATE_DAY_SPE_FORMAT);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
System.out.println(sdf.format(calendar.getTime()));
return sdf.format(calendar.getTime());
}

/**
* @see 计算两个日期之间相差的月数(暂时不写)
* @param date1
* @param date2
* @return int
* @author XiaBingCheng
* @date 2017-07-24
*/
public static int getCountBetweenDates(Date date1,Date date2){
int mouthCount = 0;
int flag = 0;
Calendar calendar1 = Calendar.getInstance();
calendar1.setTime(date1);
Calendar calendar2 = Calendar.getInstance();
calendar2.setTime(date2);
if(calendar2.equals(calendar1)){
return 0;
}
return 0;
}

}

转载于:https://www.cnblogs.com/WoKeXiaobing/p/7295024.html

### Python `dateutil` 工具类使用方法 #### 安装 为了使用 `dateutil` 库,首先需要安装它。可以通过 pip 来完成这一操作: ```bash pip install python-dateutil ``` #### 基本功能展示 ##### 解析日期字符串 `dateutil.parser.parse()` 函数能够解析多种格式的日期字符串并返回对应的 datetime 对象。 ```python from dateutil import parser date_string = "2023-10-01T14:30Z" parsed_date = parser.parse(date_string) print(parsed_date) # 输出:2023-10-01 14:30:00+00:00 ``` ##### 复杂的时间计算 利用 `relativedelta` 可以方便地执行复杂的日期运算,比如增加或减少月份、年份等。 ```python from dateutil.relativedelta import relativedelta from datetime import datetime current_time = datetime.now() future_time = current_time + relativedelta(months=+6, days=-5) print(future_time.strftime("%Y-%m-%d %H:%M")) # 根据需求调整输出格式 ``` ##### 获取重复事件序列 对于周期性的活动安排,如每周一次会议,则可借助 rrule 功能来获取一系列发生时刻。 ```python from dateutil.rrule import rrule, WEEKLY from datetime import timedelta, datetime start_day = datetime(2023, 9, 1) end_day = start_day + timedelta(days=7*8) # 计划八周内的所有周五 weekly_meetings = list(rrule(freq=WEEKLY, byweekday=start_day.weekday(), dtstart=start_day, until=end_day)) for meeting in weekly_meetings: print(meeting.date()) ``` 以上展示了如何通过 `dateutil` 实现基本的日期解析、复杂时间间隔计算以及规律性事件列表生成等功能[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值