Java时间获取

// java时间获取类

public class DateUtil {

  // 获取当前时间
  public static Date getNowTime() {
    Calendar calendar = Calendar.getInstance();
    return calendar.getTime();
  }

  // 获得当天0点时间
  public static Date getTodayStartTime() {
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.HOUR_OF_DAY, 0);
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.MILLISECOND, 0);
    return cal.getTime();
  }

  // 获得明天0点时间
  public static Date getTomorrowStartTime() {
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, 1);
    cal.set(Calendar.HOUR_OF_DAY, 0);
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.MILLISECOND, 0);
    return cal.getTime();
  }

  //获取某天的结束时间
  public static Date getDayLastTime(int year, int month, int day) {
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.YEAR, year);
    cal.set(Calendar.MONTH, month-1);
    cal.set(Calendar.DAY_OF_MONTH, day);
    cal.set(Calendar.HOUR_OF_DAY, cal.getActualMaximum(Calendar.HOUR_OF_DAY));
    cal.set(Calendar.SECOND, cal.getActualMaximum(Calendar.SECOND));
    cal.set(Calendar.MINUTE, cal.getActualMaximum(Calendar.MINUTE));
    cal.set(Calendar.MILLISECOND, cal.getActualMaximum(Calendar.MILLISECOND));
    return cal.getTime();
  }

  // 获得本月第一天0点时间
  public static Date getMonthStartTime() {
    Calendar cal = Calendar.getInstance();
    cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
    cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
    return cal.getTime();
  }

  // 获得本月最后一天的最后时间
  public static Date getMonthLastTime() {
    Calendar cal = Calendar.getInstance();
    cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
    cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
    cal.set(Calendar.HOUR_OF_DAY, cal.getActualMaximum(Calendar.HOUR_OF_DAY));
    cal.set(Calendar.SECOND, cal.getActualMaximum(Calendar.SECOND));
    cal.set(Calendar.MINUTE, cal.getActualMaximum(Calendar.MINUTE));
    cal.set(Calendar.MILLISECOND, cal.getActualMaximum(Calendar.MILLISECOND));
    return cal.getTime();
  }

  //获取指定年月的第一天
  public static Date getFirstDayOfMonth(int year, int month) {
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.YEAR, year);
    cal.set(Calendar.MONTH, month-1);
    //获取某月最小天数
    int firstDay = cal.getMinimum(Calendar.DATE);
    //设置日历中月份的最小天数
    cal.set(Calendar.DAY_OF_MONTH, firstDay);
    cal.set(Calendar.HOUR_OF_DAY, 0);
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.MILLISECOND, 0);
    return cal.getTime();
  }

  //获取指定年月的最后一天
  public static Date getLastDayOfMonth(int year, int month) {
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.YEAR, year);
    cal.set(Calendar.MONTH, month-1);
    //获取某月最大天数
    int lastDay = cal.getActualMaximum(Calendar.DATE);
    //设置日历中月份的最大天数
    cal.set(Calendar.DAY_OF_MONTH, lastDay);
    cal.set(Calendar.HOUR_OF_DAY, 0);
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.MILLISECOND, 0);
    return cal.getTime();
  }

  // 判断是否为周末
  public static boolean isWeekend(String date) throws ParseException {
    DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
    Date date1 = format1.parse(date);
    Calendar cal = Calendar.getInstance();
    cal.setTime(date1);
    if((cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) || (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)) {
      return true;
    } else {
      return false;
    }
  }

}

// 测试类

public class DateTest {

  public static void main(String[] args) throws Exception {
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println("获取当前时间:" + format.format(DateUtil.getNowTime()));
    System.out.println("获得当天0点时间:" + format.format(DateUtil.getTodayStartTime()));
    System.out.println("获得明天0点时间:" + format.format(DateUtil.getTomorrowStartTime()));
    System.out.println("获取某天的结束时间:" + format.format(DateUtil.getDayLastTime(2020, 1, 25)));
    System.out.println("获得本月第一天0点时间:" + format.format(DateUtil.getMonthStartTime()));
    System.out.println("获得本月最后一天的最后时间:" + format.format(DateUtil.getMonthLastTime()));
    System.out.println("获取指定年月的第一天:" + format.format(DateUtil.getFirstDayOfMonth(2020, 2)));
    System.out.println("获取指定年月的最后一天:" + format.format(DateUtil.getLastDayOfMonth(2020, 2)));
    System.out.println("判断是否为周末:" + DateUtil.isWeekend(format.format(DateUtil.getNowTime())));
  }

}

原文地址:https://www.cnblogs.com/clgmxxh/p/12210898.html

时间: 2024-08-08 02:24:02

Java时间获取的相关文章

Java Calendar获取年、月、日、时间

Java Calendar获取年.月.日.时间 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));    //获取东八区时间 int year = c.get(Calendar.YEAR);    //获取年  int month = c.get(Calendar.MONTH) + 1;   //获取月份,0表示1月份  int day = c.get(Calendar.DAY_OF_MONTH);

JAVA中获取系统时间

一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowString {public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式System.out.println(df.forma

JAVA中获取当前系统时间及格式转换

JAVA中获取当前系统时间 一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowString {public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式System.out.pr

java中获取日期和时间的方法总结

1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下:  要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); date.getTime() ; 还有一种方式,使用 System.currentTimeMillis() ;都是得到一个当前的时间的long型的时间的毫秒值,这个值实际上是当前时间值与1970年一月一号零时零分零秒相差的毫秒数 一.获取当前时间,   格式为:   yyyy-mm-dd   hh-mm

java 根据当天时间 获取前7天之间的时间 和后多少天的查询时间

java 根据当天时间 获取前7天之间的时间  和后多少天的查询时间 package com.kugou.schedu.service; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import org.springframework.

Java 日期时间获取和显示

Java正确获取星期Calendar.DAY_OF_WEEKhttp://chamcon.iteye.com/blog/2144433 Java SimpleDateFormat 中英文时间格式化转换 https://blog.csdn.net/KingWTD/article/details/48089111 java-使用SimpleDateFormat格式化日期http://zy-email1991.iteye.com/blog/2243021 编写一个java程序用以将AM/PM格式的时间

java中获取系统的当前时间

转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowString {public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFor

Java 时间处理的四个基本实例

时间处理是任何编程语言经常会遇到的, 本文章向大家介绍java时间处理的四个基本实例.具体实例如下: Java格式化时间(SimpleDateFormat) Java获取当前时间 Java获取年份.月份等 Java时间戳转换成时间

java时间类的使用

日期的使用: 1.创建日期 2.日期格式化显示 3.日期的转换 4.两个日期的大小比较.日期的加减   一些知识:       全球24个时区的瓜分       格林威治标准时间GMT 世界协调时间(世界标准时间)UTC       夏日节约时间DST       CST时间 CST却同时可以代表如下 4 个不同的时区: Central Standard Time (USA) UT-6:00 Central Standard Time (Australia) UT+9:30 China Stan