`

日期时间处理类

    博客分类:
  • JS
 
阅读更多

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 8之前,主要使用`java.util.Date`和`java.text.SimpleDateFormat`进行日期时间的处理,但这两个类的设计被认为不够理想。自Java 8起,引入了`java.time`包,其中包括`...

    Java的日期时间处理类讲解代码( Date 、Calendar、SimpleDateFormat、LocalDateTime)

    本源码资源提供了Java中的日期时间处理类相关内容,包括日期、时间和时区的操作方法和示例。它涵盖了Java编程中常用的日期时间处理需求以及如何使用日期时间类来解决这些问题。 适用人群 本源码资源适用于具备一定...

    Java日期时间处理类 date4j

    Java日期时间处理在编程中是一项常见任务,但Java标准库中的`java.util.Date`和`Calendar`类在使用上往往被认为复杂且不直观。为了解决这个问题,`date4j`库应运而生,它提供了更为简洁和现代的方式来处理日期和时间...

    日期时间处理类(DateUtil)

    通过使用`DateUtil`这样的工具类,开发者可以避免重复编写日期时间处理的代码,提高代码的可读性和维护性。然而,值得注意的是,Java 8引入了`java.time`包,提供更强大的日期时间API,包括`LocalDate`, `LocalTime`...

    Java中日期时间处理.docx

    接下来,Calendar类是比Date更加强大的日期时间处理类,它是一个抽象类,通常通过Calendar.getInstance()获取其子类的实例。Calendar类提供了更丰富的功能,包括设置和获取日期时间的各种组件,如YEAR、MONTH、DATE...

    java笔试面试--日期时间处理要点.pdf

    `java.util.Date`类是Java中最基础的日期时间处理类,它能够精确到毫秒级别,表示的是从1970年1月1日00:00:00.000 GMT(格林威治标准时间)到当前时间的毫秒差值。 格林威治标准时间(GMT)是基于地球自转计算的...

    基于asp.net.C#一个对日期时间(格式化和转换)的静态类

    本文将详细介绍一个在ASP.NET框架下使用C#语言编写的日期时间处理类——`LikekyDateTime`。该类主要功能包括格式化和转换日期时间,并支持自定义日期时间格式。通过该类提供的方法,用户可以灵活地将当前日期时间...

    日期时间处理工具类

    这是一个比较全面的处理日期时间的工具类,利用该工具类可以得到你想要的日期时间。里面代码简洁,方法已经封装好,只需要调用即可。自己可以将其打成jar包来用

    日期处理工具类

    在Java编程语言中,日期处理是一项常见的任务,用于管理和操作日期和时间。为了方便开发者,Java提供了多种工具类来处理日期。"日期处理工具类"通常是指一个自定义的类,它封装了一些常用的方法,例如日期格式化、...

    时间日期处理公用类

    针对时间日期各种格式之间转换等操作的公用类。

    日期和时间的扩展类2.2版的更新程序(22KB)

    总结来说,这个"日期和时间的扩展类2.2版的更新程序"是一个用于增强日期和时间处理的C++库,它可能包括用户界面控件,提供源码供定制,与系统时间功能有深度集成,并且包含了一些关键的日期时间处理类。更新可能涉及...

    java中的日期处理类总结

    - `Calendar`是一个抽象类,提供了一种灵活的方式来处理日期和时间。它比`Date`类功能更强大,支持更多日期/时间字段的设置和获取。 - 由于`Calendar`是抽象类,不能直接实例化,通常通过`getInstance()`静态方法...

    日期处理类

    在C++编程中,日期处理是一项常见的任务,特别是在开发涉及时间序列分析、日志记录或者时间敏感的应用程序时。...在实际开发中,还可以考虑集成标准库中的`chrono`模块,以利用其强大的日期和时间处理能力。

    java系统获取时间小类

    `java.util.Date`是Java中最早的日期时间处理类之一。它代表特定的时间点,精确到毫秒。在给定的代码片段中,`Date`对象被创建并用于获取当前时间。然而,`Date`类的设计并不理想,它缺乏线程安全性和灵活性,因此在...

    JAVA日期时间的计算[参考].pdf

    总之,理解和熟练使用Java中的日期时间处理类是软件开发中的基本技能,无论是简单的日期格式化还是复杂的日期计算,这些工具都能帮助我们有效地处理日期相关的业务逻辑。在实际项目中,还需要考虑时区、国际化等因素...

    java操作日期时间工具类

    虽然`Date`类历史悠久,但在Java 8之后,已经不再推荐直接使用,因为它在处理日期时间时有许多不便之处,如格式化、比较等操作不够直观。 `java.util.Calendar`是抽象类,它是日期和时间的日历字段计算的通用日历...

    php封装的时间处理类

    通过这样的时间处理类,开发者可以在项目中轻松地实现各种时间相关的功能,而无需重复编写相同的代码。这不仅可以提高开发效率,也有助于保持代码的整洁和一致性。在实际使用时,只需要实例化这个类,并调用相应的...

    JAVA处理日期时间常用方法

    对于新的Java 8及以上版本,推荐使用`java.time`包中的API,它们提供了更直观、强大的日期时间处理功能。 总的来说,Java提供了多种处理日期时间的工具,但为了保持代码的现代性和可维护性,应尽可能地使用`java....

Global site tag (gtag.js) - Google Analytics