import java.text.*;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
/**
* 获取现在时间
*
* @return返回字符串格式 yyyy-MM-dd HH:mm:ss
*/
public static String getStringDate() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime);
return dateString;
}
/**
* 获取现在时间
*
* @return 返回短时间字符串格式yyyy-MM-dd
*/
public static String getStringDateShort() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatter.format(currentTime);
return dateString;
}
/**
* 获取时间 小时:分;秒 HH:mm:ss
*
* @return
*/
public static String getTimeShort() {
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
Date currentTime = new Date();
String dateString = formatter.format(currentTime);
return dateString;
}
/**
* 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
*
* @param strDate
* @return
*/
public static Date strToDateLong(String strDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ParsePosition pos = new ParsePosition(0);
Date strtodate = formatter.parse(strDate, pos);
return strtodate;
}
/**
* 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
*
* @param dateDate
* @return
*/
public static String dateToStrLong(java.util.Date dateDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(dateDate);
return dateString;
}
/**
* 将短时间格式时间转换为字符串 yyyy-MM-dd
*
* @param dateDate
* @param k
* @return
*/
public static String dateToStr(java.util.Date dateDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatter.format(dateDate);
return dateString;
}
/**
* 将短时间格式字符串转换为时间 yyyy-MM-dd
*
* @param strDate
* @return
*/
public static Date strToDate(String strDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
ParsePosition pos = new ParsePosition(0);
Date strtodate = formatter.parse(strDate, pos);
return strtodate;
}
/**
* 得到现在时间
*
* @return
*/
public static Date getNow() {
Date currentTime = new Date();
return currentTime;
}
/**
* 提取一个月中的最后一天
*
* @param day
* @return
*/
public static Date getLastDate(long day) {
Date date = new Date();
long date_3_hm = date.getTime() - 3600000 * 34 * day;
Date date_3_hm_date = new Date(date_3_hm);
return date_3_hm_date;
}
/**
* 得到现在时间
*
* @return 字符串 yyyyMMdd HHmmss
*/
public static String getStringToday() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
String dateString = formatter.format(currentTime);
return dateString;
}
/**
* 得到现在小时
*/
public static String getHour() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime);
String hour;
hour = dateString.substring(11, 13);
return hour;
}
/**
* 得到现在分钟
*
* @return
*/
public static String getTime() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime);
String min;
min = dateString.substring(14, 16);
return min;
}
/**
* 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。
*
* @param sformat
* yyyyMMddhhmmss
* @return
*/
public static String getUserDate(String sformat) {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat(sformat);
String dateString = formatter.format(currentTime);
return dateString;
}
/**
*根据用户传入要增减的时间(分钟)返回新的时间格式
*(只针对分和小时的更改,且大于60分必须是整小时的倍数)
* @param String str
* @return yyyy-MM-dd HH:mm:ss
*/
public static String getAddOrSubtractTime(String str){
String newStr="";
int addtime=Integer.parseInt(str);
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(currentTime);
try {
Date olddate = formatter.parse(dateString);
Calendar g = Calendar.getInstance();
g.setTime(olddate);
if(addtime>0){
if(Integer.parseInt(str)<60){
g.add(Calendar.MINUTE,Integer.parseInt(str));
}else{
g.add(Calendar.HOUR,addtime/60);
}
}else{
if(Integer.parseInt(str)>-60){
g.add(Calendar.MINUTE,Integer.parseInt(str));
}else{
g.add(Calendar.HOUR,addtime/60);
}
}
Date newdate = g.getTime();
newStr=formatter.format(newdate);
} catch (ParseException e) {
e.printStackTrace();
}
return newStr;
}
/**
*根据用户传入要增减的时间(分钟)及原时间返回新的时间格式
*(只针对分和小时的更改,且大于60分必须是整小时的倍数)
* @param String str,String oldTime
* @return yyyy-MM-dd HH:mm:ss
*/
public static String getAddTime(String str,String oldTime){
String newStr="";
int addtime=Integer.parseInt(str);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//String dateString = formatter.format(oldTime);
try {
Date olddate = formatter.parse(oldTime);
Calendar g = Calendar.getInstance();
g.setTime(olddate);
if(addtime>0){
if(Integer.parseInt(str)<60){
g.add(Calendar.MINUTE,Integer.parseInt(str));
}else{
g.add(Calendar.HOUR,addtime/60);
}
}else{
if(Integer.parseInt(str)>-60){
g.add(Calendar.MINUTE,Integer.parseInt(str));
}else{
g.add(Calendar.HOUR,addtime/60);
}
}
Date newdate = g.getTime();
newStr=formatter.format(newdate);
} catch (ParseException e) {
e.printStackTrace();
}
return newStr;
}
/**
*根据用户传入的结束时间(格式为2009-01-01 01:10:10)返回剩余时间为多少分钟
* @param String endtime
* @return String(剩余多少分,小于0表示已经过了多少分)
*/
public static String hasTime(String endtime){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String systemTime = sdf .format(new Date()).toString();
try {
Date begin=sdf.parse(systemTime);
Date end = sdf.parse(endtime);
long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒
return String.valueOf(between/3600*60+between%3600/60);
} catch (ParseException e) {
return null;
}
}
/**
*根据用户传入的结束时间(格式为2009-01-01 01:10:10)返回剩余时间为多少秒
* @param String endtime
* @return String(剩余多少秒,小于0表示已经过了多少秒)
*/
public static int hasSecond(String endtime){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String systemTime = sdf .format(new Date()).toString();
try {
Date nowTime=sdf.parse(systemTime);
Date end = sdf.parse(endtime);
long between=(end.getTime()-nowTime.getTime())/1000;//除以1000是为了转换成秒
return Integer.parseInt(String.valueOf(between));
} catch (ParseException e) {
return 0;
}
}
}
分享到:
相关推荐
本源码资源提供了Java中的日期时间处理类相关内容,包括日期、时间和时区的操作方法和示例。它涵盖了Java编程中常用的日期时间处理需求以及如何使用日期时间类来解决这些问题。 适用人群 本源码资源适用于具备一定...
日期时间的处理类date,time ,datetime
date4j是一个用于简化日期和时间操作的Java工具。可以替换java.util.Date。
NULL 博文链接:https://baobeituping.iteye.com/blog/801399
这是一个比较全面的处理日期时间的工具类,利用该工具类可以得到你想要的日期时间。里面代码简洁,方法已经封装好,只需要调用即可。自己可以将其打成jar包来用
针对时间日期各种格式之间转换等操作的公用类。
获取日期的时间。默认HH:mm:ss格式。失败返回null。 获取日期的星期。失败返回null。 获取两个日期相差的天数 。 获取两个日期相差的毫秒数 。 获得两个日期之间的连续日期.。 将时间转换为时间戳。 获取...
基本涵盖了各种场景的日期处理需要,包括时间类型转换,获取N天前后,月初月末,某段时间按天拆分等功能,欢迎使用。
日期操作工具类,主要实现了日期的常用操作。 * * 在工具类中经常使用到工具类的格式化描述,这个主要是一个日期的操作类,所以日志格式主要使用 SimpleDateFormat的定义格式. * * 格式的意义如下: 日期和...
年月日,日期加减,日期格式化,某一周,某一天等处理
支持多种日期和时间格式处理的和转换JS类库,详细查看文件内部传参
JAVA处理日期时间常用方法.JAVA处理日期时间常用方法: java.util.Calendar
2014" 专门用于处理springboard定时任务修改cron参数的日期处理方法 12.获取本月第一天(月初时间) 13.获取本月最后一天(月底时间) 以上这些方法都在该Java工具类,当然不仅仅包含这些,还有其他的很多。
时间日期处理VC++,使用VS2006及其以上,个人觉得简单易懂
这个函数处理传入两个参数DATEMINE('20010202', '1512')他会把这连个参数返回一个字符串 '2001-02-02 15:12',的到这个字符串,就可以使用数据库内置的函数DATEDIFF(year,'2001-02-02 15:12','2001-02-02 15:15',...
根据生日计算年龄,只精确到日期 接受Calendar类型的日期数据,计算天数差 获取当前日期,格式化成yyyy-MM-dd 获取当前日期,格式化成yyyy-MM-dd HH:mm:ss 接受YYYY-MM-DD的日期字符串参数,返回两个日期相差的天数 ...
超好用的时间工具类,包括时间各种格式转换,时间字符串互相转,时间增加,时间减去,单独获取日,获取月,获取时间等
Maya:对人类友好的Python日期时间处理库
时间的处理各种方式 java8 技术 对时间处理的各种方式