`

Java获取各种常用时间方法大全一

    博客分类:
  • JAVA
阅读更多
Java获取各种常用时间方法大全

   1. package cc.javaweb.test;      
   2. Java中文网,Java获取各种时间大全 
   3.      
   4. import java.text.DateFormat;      
   5. import java.text.ParsePosition;      
   6. import java.text.SimpleDateFormat;      
   7. import java.util.Calendar;      
   8. import java.util.Date;      
   9. import java.util.GregorianCalendar;      
  10.      
  11. public class TimeTest {      
  12.     //用来全局控制 上一周,本周,下一周的周数变化      
  13.     private  int weeks = 0;      
  14.     private int MaxDate;//一月最大天数      
  15.     private int MaxYear;//一年最大天数      
  16.           
  17.           
  18.     /**    
  19.      * @param args    
  20.      */     
  21.     public static void main(String[] args) {      
  22.         TimeTest tt = new TimeTest();      
  23.         System.out.println("获取当天日期:"+tt.getNowTime("yyyy-MM-dd"));      
  24.         System.out.println("获取本周一日期:"+tt.getMondayOFWeek());      
  25.         System.out.println("获取本周日的日期~:"+tt.getCurrentWeekday());      
  26.         System.out.println("获取上周一日期:"+tt.getPreviousWeekday());      
  27.         System.out.println("获取上周日日期:"+tt.getPreviousWeekSunday());      
  28.         System.out.println("获取下周一日期:"+tt.getNextMonday());      
  29.         System.out.println("获取下周日日期:"+tt.getNextSunday());      
  30.         System.out.println("获得相应周的周六的日期:"+tt.getNowTime("yyyy-MM-dd"));      
  31.         System.out.println("获取本月第一天日期:"+tt.getFirstDayOfMonth());      
  32.         System.out.println("获取本月最后一天日期:"+tt.getDefaultDay());      
  33.         System.out.println("获取上月第一天日期:"+tt.getPreviousMonthFirst());      
  34.         System.out.println("获取上月最后一天的日期:"+tt.getPreviousMonthEnd());      
  35.         System.out.println("获取下月第一天日期:"+tt.getNextMonthFirst());      
  36.         System.out.println("获取下月最后一天日期:"+tt.getNextMonthEnd());      
  37.         System.out.println("获取本年的第一天日期:"+tt.getCurrentYearFirst());      
  38.         System.out.println("获取本年最后一天日期:"+tt.getCurrentYearEnd());      
  39.         System.out.println("获取去年的第一天日期:"+tt.getPreviousYearFirst());      
  40.         System.out.println("获取去年的最后一天日期:"+tt.getPreviousYearEnd());      
  41.         System.out.println("获取明年第一天日期:"+tt.getNextYearFirst());      
  42.         System.out.println("获取明年最后一天日期:"+tt.getNextYearEnd());      
  43.         System.out.println("获取本季度第一天到最后一天:"+tt.getThisSeasonTime(11));      
  44.         System.out.println("获取两个日期之间间隔天数2010-12-31~2010-9-14:"+TimeTest.getTwoDay("2010-12-31","2010-9-14"));      
  45.     }            
  46.           
  47.     /**    
  48.         * 得到二个日期间的间隔天数
  49.         */     
  50.     public static String getTwoDay(String sj1, String sj2) {      
  51.         SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");      
  52.         long day = 0;      
  53.         try {      
  54.          java.util.Date date = myFormatter.parse(sj1);      
  55.          java.util.Date mydate = myFormatter.parse(sj2);      
  56.          day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);      
  57.         } catch (Exception e) {      
  58.          return "";      
  59.         }      
  60.         return day + "";      
  61.     }       
  62.      
  63.     /**    
  64.         * 根据一个日期,返回是星期几的字符串    
  65.         *     
  66.         * @param sdate    
  67.         * @return    
  68.         */     
  69.     public static String getWeek(String sdate) {      
  70.         // 再转换为时间      
  71.         Date date = TimeTest.strToDate(sdate);      
  72.         Calendar c = Calendar.getInstance();      
  73.         c.setTime(date);      
  74.         // int hour=c.get(Calendar.DAY_OF_WEEK);      
  75.         // hour中存的就是星期几了,其范围 1~7      
  76.         // 1=星期日 7=星期六,其他类推      
  77.         return new SimpleDateFormat("EEEE").format(c.getTime());      
  78.     }      
  79.      
  80.     /**    
  81.         * 将短时间格式字符串转换为时间 yyyy-MM-dd     
  82.         *     
  83.         * @param strDate    
  84.         * @return    
  85.         */     
  86.     public static Date strToDate(String strDate) {      
  87.         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");      
  88.         ParsePosition pos = new ParsePosition(0);      
  89.         Date strtodate = formatter.parse(strDate, pos);      
  90.         return strtodate;      
  91.     }      
  92.      
  93.     /**    
  94.         * 两个时间之间的天数    
  95.         *     
  96.         * @param date1    
  97.         * @param date2    
  98.         * @return    
  99.         */     
100.     public static long getDays(String date1, String date2) {      
101.         if (date1 == null || date1.equals(""))      
102.          return 0;      
103.         if (date2 == null || date2.equals(""))      
104.          return 0;      
105.         // 转换为标准时间      
106.         SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");      
107.         java.util.Date date = null;      
108.         java.util.Date mydate = null;      
109.         try {      
110.          date = myFormatter.parse(date1);      
111.          mydate = myFormatter.parse(date2);      
112.         } catch (Exception e) {      
113.         }      
114.         long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);      
115.         return day;      
116.     }       
117.           
118.     // 计算当月最后一天,返回字符串      
119.     public String getDefaultDay(){        
120.        String str = "";      
121.        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");          
122.      
123.        Calendar lastDate = Calendar.getInstance();      
124.        lastDate.set(Calendar.DATE,1);//设为当前月的1号      
125.        lastDate.add(Calendar.MONTH,1);//加一个月,变为下月的1号      
126.        lastDate.add(Calendar.DATE,-1);//减去一天,变为当月最后一天      
127.              
128.        str=sdf.format(lastDate.getTime());      
129.        return str;        
130.     }      
131.           
132.     // 上月第一天      
133.     public String getPreviousMonthFirst(){        
134.        String str = "";      
135.        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");          
136.      
137.        Calendar lastDate = Calendar.getInstance();      
138.        lastDate.set(Calendar.DATE,1);//设为当前月的1号      
139.        lastDate.add(Calendar.MONTH,-1);//减一个月,变为下月的1号      
140.        //lastDate.add(Calendar.DATE,-1);//减去一天,变为当月最后一天      
141.              
142.        str=sdf.format(lastDate.getTime());      
143.        return str;        
144.     }      
145.           
146.     //获取当月第一天      
147.     public String getFirstDayOfMonth(){        
148.        String str = "";      
149.        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");          
150.      
151.        Calendar lastDate = Calendar.getInstance();      
152.        lastDate.set(Calendar.DATE,1);//设为当前月的1号      
153.        str=sdf.format(lastDate.getTime());      
154.        return str;        
155.     }      
156.           
157.     // 获得本周星期日的日期        
158.     public String getCurrentWeekday() {      
159.         weeks = 0;      
160.         int mondayPlus = this.getMondayPlus();      
161.         GregorianCalendar currentDate = new GregorianCalendar();      
162.         currentDate.add(GregorianCalendar.DATE, mondayPlus+6);      
163.         Date monday = currentDate.getTime();      
164.               
165.         DateFormat df = DateFormat.getDateInstance();      
166.         String preMonday = df.format(monday);      
167.         return preMonday;      
168.     }       
169.           
170.     //获取当天时间       
171.     public String getNowTime(String dateformat){      
172.         Date   now   =   new   Date();         
173.         SimpleDateFormat   dateFormat   =   new   SimpleDateFormat(dateformat);//可以方便地修改日期格式         
174.         String  hehe  = dateFormat.format(now);         
175.         return hehe;      
176.     }      
177.           
178.     // 获得当前日期与本周日相差的天数      
179.     private int getMondayPlus() {      
180.         Calendar cd = Calendar.getInstance();      
181.         // 获得今天是一周的第几天,星期日是第一天,星期二是第二天......      
182.         int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK)-1;         //因为按中国礼拜一作为第一天所以这里减1      
183.         if (dayOfWeek == 1) {      
184.             return 0;      
185.         } else {      
186.             return 1 - dayOfWeek;      
187.         }      
188.     }      
189.           
190.     //获得本周一的日期      
191.     public String getMondayOFWeek(){      
192.          weeks = 0;      
193.          int mondayPlus = this.getMondayPlus();      
194.          GregorianCalendar currentDate = new GregorianCalendar();      
195.          currentDate.add(GregorianCalendar.DATE, mondayPlus);      
196.          Date monday = currentDate.getTime();      
197.                
198.          DateFormat df = DateFormat.getDateInstance();      
199.          String preMonday = df.format(monday);      
200.          return preMonday;      
201.     }      
202.           
203.   //获得相应周的周六的日期      
204.     public String getSaturday() {      
205.         int mondayPlus = this.getMondayPlus();      
206.         GregorianCalendar currentDate = new GregorianCalendar();      
207.         currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks + 6);      
208.         Date monday = currentDate.getTime();      
209.         DateFormat df = DateFormat.getDateInstance();      
210.         String preMonday = df.format(monday);      
211.         return preMonday;      
212.     } 
分享到:
评论

相关推荐

    Java获取各种常用时间方法

    ### Java获取各种常用时间方法 在Java编程中,处理日期和时间是常见需求之一。本篇文章将详细介绍如何使用Java来获取一些常用的日期信息,包括但不限于:获取当前日期、本周一的日期、本周日的日期以及上周一的日期...

    java的常用的获取时间的方法

    本文将详细介绍Java中常用的时间处理方法,特别是基于`java.util.Date`、`java.text.SimpleDateFormat`、`java.util.Calendar`等类的操作,以及如何通过这些方法获取当前时间、计算日期差、获取周、月、年的第一天和...

    用java获取网络时间

    ### 使用Java获取网络时间 在开发过程中,为了确保时间数据的准确性与同步性,开发者有时会需要从网络上获取标准时间。例如,在某些应用中,为了避免因本地系统时间设置错误而导致的问题,可以通过网络来获取一个...

    Java 获取日期时间代码

    本文将详细介绍几种常用的Java日期时间获取方法,包括如何获取完整日期时间、仅获取时间部分(时分秒)、获取日期部分以及如何获取时间戳。此外,我们还将探讨如何使用自定义格式来获取日期时间。 #### 二、基本...

    java中获取系统时间

    本文将详细介绍三种常用的获取系统时间的方法,并通过一个示例程序来具体演示这些方法的实际应用。 #### 方法一:使用`java.util.Date` ##### 代码实现 ```java Date date1 = new Date(); System.out.println(...

    java程序各种常用方法集锦

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

    java获取时间方法

    本文将详细介绍几种常用的Java获取时间的方法,并结合示例代码进行解析。 #### 一、使用`SimpleDateFormat`格式化输出时间 ##### 1.1 `getFormatCurrentTimeStandard()` **功能描述**:此方法用于获取当前时间并...

    java 获取当前时间

    通过以上知识点和示例代码的学习,我们可以灵活地使用`java.util.Date`和`java.text.DateFormat`来获取并格式化当前时间,以满足各种不同的需求。此外,还可以通过调整`DateFormat`的不同样式来实现更丰富的日期时间...

    JAVA获取系统时间.txt

    ### JAVA获取系统时间知识点详解 在Java编程语言中,获取并格式化系统当前时间是一项非常基础且常用的操作。本文档将详细介绍如何利用Java内置类来实现这一功能,并深入探讨其中涉及的重要概念和技术细节。 #### ...

    JAVA处理日期时间常用方法

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

    JAVA中获取当前时间

    本文将详细介绍两种常用的方法来获取Java中的当前时间。 #### 二、使用`java.util.Date`和`java.text.DateFormat`类获取当前时间 **1. `java.util.Date`类** - **简介**:`java.util.Date`类提供了创建和操作日期...

    java 获得时间方法

    在Java中,获取系统当前时间是一项基本且常用的功能。通过`java.util.Calendar`类,我们可以方便地操作日期和时间。本文将详细介绍如何利用`Calendar`类来获取各种时间数据。 #### 导入必要的包 首先,我们需要...

    Java常用函数大全

    `java.util.Properties`类可以用来加载、保存和操作配置文件,可能的方法有`loadProperties()`加载文件,`saveProperties()`保存到文件,`getProperty()`获取属性值等。 8. **BSNum.java**: 可能是一些数值处理的...

    java获取某地天气

    文件名为“Weather”的可能是一个Java类,包含了获取天气信息的逻辑和测试代码。 在实际开发中,还需要考虑到性能优化、API使用限制(如免费版本的调用次数限制)以及用户隐私(不要在没有用户许可的情况下获取其...

    JAVA常用方法.rar

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

    java常用时间方法

    从提供的代码片段和描述来看,主要聚焦于使用Java中的各种方法来操作和格式化日期。以下将深入解析并扩展这些时间处理方法的关键知识点: ### 1. 使用`SimpleDateFormat`格式化日期 `SimpleDateFormat`类位于`java...

    Java/Android 获取系统时间

    #### 一、Java获取系统时间的方法 在Java中,有多种方式可以获取当前系统的日期和时间。以下介绍一种常用的方法,即通过`java.util.Date`类结合`java.text.DateFormat`类来实现。 ##### 1. 使用`java.util.Date`类...

    java日期时间获取

    本文主要介绍了Java中处理日期与时间的方法,特别是通过一个示例工具类 `DateTime` 展示了如何进行日期时间的解析、格式化以及比较等操作。文章重点介绍了 `SimpleDateFormat` 类的使用方法,并通过具体的例子演示了...

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

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

Global site tag (gtag.js) - Google Analytics