`
bruce198
  • 浏览: 236361 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Java日期操作常用方法

阅读更多
  1. /**  
  2.      * 取得指定月份的第一天  
  3.      *  
  4.      * @param strdate String  
  5.      * @return String  
  6.      */  
  7.     public String getMonthBegin(String strdate)   
  8.     {   
  9.         java.util.Date date = parseFormatDate(strdate);   
  10.         return formatDateByFormat(date,"yyyy-MM") + "-01";   
  11.     }   
  12.   
  13.     /**  
  14.      * 取得指定月份的最后一天  
  15.      *  
  16.      * @param strdate String  
  17.      * @return String  
  18.      */  
  19.     public String getMonthEnd(String strdate)   
  20.     {   
  21.         java.util.Date date = parseFormatDate(getMonthBegin(strdate));   
  22.         Calendar calendar = Calendar.getInstance();   
  23.         calendar.setTime(date);   
  24.         calendar.add(Calendar.MONTH,1);   
  25.         calendar.add(Calendar.DAY_OF_YEAR, -1);   
  26.         return formatDate(calendar.getTime());   
  27.     }   
  28.   
  29.     /**  
  30.      * 常用的格式化日期  
  31.      *  
  32.      * @param date Date  
  33.      * @return String  
  34.      */  
  35.     public String formatDate(java.util.Date date)   
  36.     {   
  37.         return formatDateByFormat(date,"yyyy-MM-dd");   
  38.     }   
  39.   
  40.     /**  
  41.      * 以指定的格式来格式化日期  
  42.      *  
  43.      * @param date Date  
  44.      * @param format String  
  45.      * @return String  
  46.      */  
  47.     public String formatDateByFormat(java.util.Date date,String format)   
  48.     {   
  49.         String result = "";   
  50.         if(date != null)   
  51.         {   
  52.             try  
  53.             {   
  54.                 SimpleDateFormat sdf = new SimpleDateFormat(format);   
  55.                 result = sdf.format(date);   
  56.             }   
  57.             catch(Exception ex)   
  58.             {   
  59.                 LOGGER.info("date:" + date);   
  60.                 ex.printStackTrace();   
  61.             }   
  62.         }   
  63.         return result;   
  64.     }   
  65.   
  66.   
  67.   
  68. /**  
  69.  * 日期操作  
  70.  *   
  71.  * @author xxx  
  72.  * @version 2.0 jdk1.4.0 tomcat5.1.0 * Updated Date:2005/03/10  
  73.  */  
  74. public class DateUtil {   
  75.  /**  
  76.   * 格式化日期  
  77.   *   
  78.   * @param dateStr  
  79.   *            字符型日期  
  80.   * @param format  
  81.   *            格式  
  82.   * @return 返回日期  
  83.   */  
  84.  public static java.util.Date parseDate(String dateStr, String format) {   
  85.   java.util.Date date = null;   
  86.   try {   
  87.    java.text.DateFormat df = new java.text.SimpleDateFormat(format);   
  88.    String dt=Normal.parse(dateStr).replaceAll(   
  89.      "-""/");   
  90.    if((!dt.equals(""))&&(dt.length()<format.length())){   
  91.     dt+=format.substring(dt.length()).replaceAll("[YyMmDdHhSs]","0");   
  92.    }   
  93.    date = (java.util.Date) df.parse(dt);   
  94.   } catch (Exception e) {   
  95.   }   
  96.   return date;   
  97.  }   
  98.   
  99.  public static java.util.Date parseDate(String dateStr) {   
  100.   return parseDate(dateStr, "yyyy/MM/dd");   
  101.  }   
  102.   
  103.  public static java.util.Date parseDate(java.sql.Date date) {   
  104.   return date;   
  105.  }   
  106.     
  107.  public static java.sql.Date parseSqlDate(java.util.Date date) {   
  108.   if (date != null)   
  109.    return new java.sql.Date(date.getTime());   
  110.   else  
  111.    return null;   
  112.  }   
  113.   
  114.  public static java.sql.Date parseSqlDate(String dateStr, String format) {   
  115.   java.util.Date date = parseDate(dateStr, format);   
  116.   return parseSqlDate(date);   
  117.  }   
  118.   
  119.  public static java.sql.Date parseSqlDate(String dateStr) {   
  120.   return parseSqlDate(dateStr, "yyyy/MM/dd");   
  121.  }   
  122.   
  123.     
  124.  public static java.sql.Timestamp parseTimestamp(String dateStr,   
  125.    String format) {   
  126.   java.util.Date date = parseDate(dateStr, format);   
  127.   if (date != null) {   
  128.    long t = date.getTime();   
  129.    return new java.sql.Timestamp(t);   
  130.   } else  
  131.    return null;   
  132.  }   
  133.   
  134.  public static java.sql.Timestamp parseTimestamp(String dateStr) {   
  135.   return parseTimestamp(dateStr, "yyyy/MM/dd HH:mm:ss");   
  136.  }   
  137.   
  138.  /**  
  139.   * 格式化输出日期  
  140.   *   
  141.   * @param date  
  142.   *            日期  
  143.   * @param format  
  144.   *            格式  
  145.   * @return 返回字符型日期  
  146.   */  
  147.  public static String format(java.util.Date date, String format) {   
  148.   String result = "";   
  149.   try {   
  150.    if (date != null) {   
  151.     java.text.DateFormat df = new java.text.SimpleDateFormat(format);   
  152.     result = df.format(date);   
  153.    }   
  154.   } catch (Exception e) {   
  155.   }   
  156.   return result;   
  157.  }   
  158.   
  159.  public static String format(java.util.Date date) {   
  160.   return format(date, "yyyy/MM/dd");   
  161.  }   
  162.   
  163.  /**  
  164.   * 返回年份  
  165.   *   
  166.   * @param date  
  167.   *            日期  
  168.   * @return 返回年份  
  169.   */  
  170.  public static int getYear(java.util.Date date) {   
  171.   java.util.Calendar c = java.util.Calendar.getInstance();   
  172.   c.setTime(date);   
  173.   return c.get(java.util.Calendar.YEAR);   
  174.  }   
  175.   
  176.  /**  
  177.   * 返回月份  
  178.   *   
  179.   * @param date  
  180.   *            日期  
  181.   * @return 返回月份  
  182.   */  
  183.  public static int getMonth(java.util.Date date) {   
  184.   java.util.Calendar c = java.util.Calendar.getInstance();   
  185.   c.setTime(date);   
  186.   return c.get(java.util.Calendar.MONTH) + 1;   
  187.  }   
  188.   
  189.  /**  
  190.   * 返回日份  
  191.   *   
  192.   * @param date  
  193.   *            日期  
  194.   * @return 返回日份  
  195.   */  
  196.  public static int getDay(java.util.Date date) {   
  197.   java.util.Calendar c = java.util.Calendar.getInstance();   
  198.   c.setTime(date);   
  199.   return c.get(java.util.Calendar.DAY_OF_MONTH);   
  200.  }   
  201.   
  202.  /**  
  203.   * 返回小时  
  204.   *   
  205.   * @param date  
  206.   *            日期  
  207.   * @return 返回小时  
  208.   */  
  209.  public static int getHour(java.util.Date date) {   
  210.   java.util.Calendar c = java.util.Calendar.getInstance();   
  211.   c.setTime(date);   
  212.   return c.get(java.util.Calendar.HOUR_OF_DAY);   
  213.  }   
  214.   
  215.  /**  
  216.   * 返回分钟  
  217.   *   
  218.   * @param date  
  219.   *            日期  
  220.   * @return 返回分钟  
  221.   */  
  222.  public static int getMinute(java.util.Date date) {   
  223.   java.util.Calendar c = java.util.Calendar.getInstance();   
  224.   c.setTime(date);   
  225.   return c.get(java.util.Calendar.MINUTE);   
  226.  }   
  227.   
  228.  /**  
  229.   * 返回秒钟  
  230.   *   
  231.   * @param date  
  232.   *            日期  
  233.   * @return 返回秒钟  
  234.   */  
  235.  public static int getSecond(java.util.Date date) {   
  236.   java.util.Calendar c = java.util.Calendar.getInstance();   
  237.   c.setTime(date);   
  238.   return c.get(java.util.Calendar.SECOND);   
  239.  }   
  240.   
  241.  /**  
  242.   * 返回毫秒  
  243.   *   
  244.   * @param date  
  245.   *            日期  
  246.   * @return 返回毫秒  
  247.   */  
  248.  public static long getMillis(java.util.Date date) {   
  249.   java.util.Calendar c = java.util.Calendar.getInstance();   
  250.   c.setTime(date);   
  251.   return c.getTimeInMillis();   
  252.  }   
  253.   
  254.  /**  
  255.   * 返回字符型日期  
  256.   *   
  257.   * @param date  
  258.   *            日期  
  259.   * @return 返回字符型日期  
  260.   */  
  261.  public static String getDate(java.util.Date date) {   
  262.   return format(date, "yyyy/MM/dd");   
  263.  }   
  264.   
  265.  /**  
  266.   * 返回字符型时间  
  267.   *   
  268.   * @param date  
  269.   *            日期  
  270.   * @return 返回字符型时间  
  271.   */  
  272.  public static String getTime(java.util.Date date) {   
  273.   return format(date, "HH:mm:ss");   
  274.  }   
  275.   
  276.  /**  
  277.   * 返回字符型日期时间  
  278.   *   
  279.   * @param date  
  280.   *            日期  
  281.   * @return 返回字符型日期时间  
  282.   */  
  283.  public static String getDateTime(java.util.Date date) {   
  284.   return format(date, "yyyy/MM/dd HH:mm:ss");   
  285.  }   
  286.   
  287.  /**  
  288.   * 日期相加  
  289.   *   
  290.   * @param date  
  291.   *            日期  
  292.   * @param day  
  293.   *            天数  
  294.   * @return 返回相加后的日期  
  295.   */  
  296.  public static java.util.Date addDate(java.util.Date date, int day) {   
  297.   java.util.Calendar c = java.util.Calendar.getInstance();   
  298.   c.setTimeInMillis(getMillis(date) + ((long) day) * 24 * 3600 * 1000);   
  299.   return c.getTime();   
  300.  }   
  301.   
  302.  /**  
  303.   * 日期相减  
  304.   *   
  305.   * @param date  
  306.   *            日期  
  307.   * @param date1  
  308.   *            日期  
  309.   * @return 返回相减后的日期  
  310.   */  
  311.  public static int diffDate(java.util.Date date, java.util.Date date1) {   
  312.   return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000));   
  313.  }    
  314. }   
  315.   
  316.   
  317.   
  318. Calendar now = Calendar.getInstance();   
  319. int year = now.get(Calendar.YEAR);   
  320. int date = now.get(Calendar.DAY_OF_MONTH);   
  321. int month = now.get(Calendar.MONTH) + 1;   
  322. int hour = now.get(Calendar.HOUR);   
  323. int min = now.get(Calendar.MINUTE);   
  324. int sec = now.get(Calendar.SECOND);   
  325.   
  326.   
  327.   
  328.   
  329. import java.sql.Timestamp;   
  330. import java.text.SimpleDateFormat;   
  331. import java.util.*;   
  332. /**   
  333.  * 
  334.  *   
  335. public class ManageWeek {   
  336.  //判断两个日期是否在同一周   
  337.  boolean isSameWeekDates(Date date1, Date date2) {   
  338.   Calendar cal1 = Calendar.getInstance();   
  339.   Calendar cal2 = Calendar.getInstance();   
  340.   cal1.setTime(date1);   
  341.   cal2.setTime(date2);   
  342.   int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);   
  343.   if (0 == subYear) {   
  344.     if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))   
  345.    return true;   
  346.   }   
  347.   else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {   
  348.     // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周   
  349.     if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))   
  350.    return true;   
  351.   }   
  352.   else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {   
  353.     if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))   
  354.    return true;   
  355.   }   
  356.   return false;   
  357.  }   
  358.     
  359.     
  360.  //产生周序列   
  361.  public static String  getSeqWeek(){   
  362.   Calendar c = Calendar.getInstance(Locale.CHINA);   
  363.   String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));   
  364.   if(week.length()==1)week = "0" + week;   
  365.   String year = Integer.toString(c.get(Calendar.YEAR));     
  366.   return year+week;   
  367.      
  368.  }   
  369.      
  370.   //获得周一的日期   
  371.   public static String getMonday(Date date){   
  372.    Calendar c = Calendar.getInstance();   
  373.    c.setTime(date);   
  374.    c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);   
  375.    return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());   
  376.   }   
  377.      
  378.      
  379.   //获得周五的日期   
  380.   public static String getFriday(Date date){   
  381.    Calendar c = Calendar.getInstance();   
  382.    c.setTime(date);   
  383.    c.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);      
  384.    return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());   
  385.       
  386.       
  387.   }   
  388.      
  389.   public static void main(String[] args){   
  390.   
  391.   }   
  392.   
  393. }   
  394.   
分享到:
评论

相关推荐

    Java日期常用操作方法工具类

    本文将重点讲解Java日期的常用操作方法,主要基于提供的`JavaDateUtil.java`文件,假设这是一个自定义的日期工具类。 首先,我们来了解`java.util.Date`。这个类在早期的Java版本中被广泛使用,但它的API设计并不...

    JAVA处理日期时间常用方法

    Java中的日期和时间处理是程序开发中常见的任务,涉及到各种日期和时间的计算、格式化以及比较等操作。在Java中,主要使用`java.util.Date`、`java.util.Calendar`和`java.text.SimpleDateFormat`这三个核心类来处理...

    java程序各种常用方法集锦

    本资源"java程序各种常用方法集锦"正是为了解决这些问题而整理的一份综合性的代码库,包含了大量实用的代码示例。下面,我们将详细探讨这些关键知识点。 1. **集合操作**: - `ArrayList`与`LinkedList`:两种最...

    Java常用日期辅助类

    在给定的标题“Java常用日期辅助类”中,我们可以推测这篇博文可能探讨了Java中的一些核心日期处理工具,如`java.util.Date`,`java.time`包中的类,以及自定义的日期助手类`DateHelper.java`。 `java.util.Date`是...

    Java获取各种常用时间方法

    根据给定文件的信息,我们可以总结出以下关于Java中获取各种常用时间的方法的知识点: ### Java获取各种常用时间方法 在Java编程中,处理日期和时间是常见需求之一。本篇文章将详细介绍如何使用Java来获取一些常用...

    JAVA中常用类的常用方法.pdf

    JAVA中常用类的常用方法主要涵盖了java语言中基础类库的关键类以及它们提供的主要方法。以下是针对文档内容的详细解释: 1. java.lang.Object类 Object类是Java中所有类的超类,它提供了多种方法,这些方法在Java中...

    Java中对日期的常用处理(转)

    本文将基于标题“Java中对日期的常用处理(转)”来深入探讨Java中的日期处理,结合`DateUtil.java`这个文件名,我们可以推测这是一个包含日期处理工具类的源代码文件。 首先,Java中处理日期的最基础类是`java....

    Java8 日期时间操作

    详细介绍了Java8日期时间相关的api,列举了一些常用的方法,包含java.time、java.time.temporal、java.time.format包下的类和接口操作

    JAVA常用方法.rar

    以上仅是Java常用方法的一小部分,实际开发中还有更多如网络编程、数据库操作、日期时间处理等领域的常用方法。这些方法的理解和熟练运用,将帮助开发者更好地编写高效、稳定的Java程序。通过学习和实践,你可以不断...

    Java获取各种日期的函数(方法).docx

    Java日期操作函数详解 Java语言中日期操作函数是非常重要的一部分,日期操作函数可以帮助开发者快速获取和处理日期相关的信息。本文将对Java日期操作函数进行详细的介绍和分析。 1. 日期操作函数的基本概念 在...

    java李兴华学习笔记之Java常用类库

    ### Java李兴华学习笔记之Java常用类库 #### 一、课程介绍及知识点...通过以上内容的学习,学习者不仅可以掌握Java常用类库的基本使用方法,还能进一步提高自己的编程能力,为今后更复杂的项目开发打下坚实的基础。

    java常用系统类库实验

    实验旨在加深学生对Java预定义类的理解,掌握常用类的运用技巧,以及熟练方法覆盖(重写)的实践。实验分为三个部分,分别围绕Math类、基本类型的包装类、日期类(Date和Calendar)、以及动态数组Vector类展开。 ##...

    欧柏泰克:Java常用类库--日期操作类

    欧柏泰克:Java常用类库--日期操作类 在 Java 语言中,日期操作类是非常重要的一部分,常用的日期操作类有 Date 类、Calendar 类和 DateFormat 类。下面是对这三个类的详细介绍: Date 类 Date 类是 Java 语言中...

    java中关于时间日期操作的常用函数

    ### Java中关于时间日期操作的常用函数 #### 1. 计算某一月份的最大天数 在Java中,可以通过`Calendar`类来获取指定月份的最大天数。这在处理诸如日历显示、日期验证等场景时非常有用。 ```java Calendar time = ...

    java操作日期时间工具类

    Java提供了多种工具类来帮助开发者进行日期时间的操作,其中最常用的是`java.util.Date`、`java.util.Calendar`以及`java.time`包中的类。本篇将重点介绍Java操作日期时间的工具类,特别是通过`DateUtil.java`这个...

    用我工作经历总结的java常用方法和注意的问题

    在Java编程中,掌握一些常用的方法和注意事项是提高效率的关键。以下是一些基于提供的内容整理出的Java知识点: 1. **类型转换**: - `String` 转 `int`:通过 `Integer.parseInt()` 方法将字符串转换为整型。如 `...

    Java类库 java中常用的类 可以参考

    本文档旨在介绍 Java 中一些常用的类库,帮助初学者更好地理解和使用这些类库。尽管文档内容并不全面,但包含了大多数常用的类库,对于新手来说较为易懂。 #### 二、Java 常用类库详解 ##### 1. `java.applet` - ...

    Java期末复习-常用类库

    日期操作类通常包括java.util.Date,java.util.Calendar,以及java.text.SimpleDateFormat。Date表示特定瞬间,Calendar是日历抽象类,SimpleDateFormat用于日期/时间的格式化。例如,创建日期对象,设置日期,然后...

    java课件(常用类)

    在Java中,"常用类"通常指的是那些位于Java标准库(java.* 和 javax.* 包)中的类,它们提供了基本的数据操作、文件处理、网络通信、日期时间管理等功能。例如,`java.util.ArrayList` 和 `java.util.LinkedList` 是...

Global site tag (gtag.js) - Google Analytics