`
好风光
  • 浏览: 6150 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java日期获取大全

    博客分类:
  • java
阅读更多
package com.hellogame.platform.util;
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
 
import com.hellogame.platform.platformbean.WeekDaysData;
 
public class TimeUtils {
 
/**
 * 获取年月日字符串yyyy-MM-dd HH:mm:ss
 * */
public static String getStringTime(long time) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(new Date(time));
return dateString;
}
 
/**
 * 获取昨天日期字符串 yyyyMMdd
 * */
 
public static String getYesterdayString() {
Date date = new Date();// 取时间
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(Calendar.DATE, -1);// 把日期往后增加一天.整数往后推,负数往前移动
date = calendar.getTime(); // 这个时间就是日期往后推一天的结果
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
String dateString = formatter.format(date);
return dateString;
}
 
/**
 * 获取yyyy-MM-dd类型日期
 * */
public static String getStringDate(long time) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String dateString = formatter.format(new Date(time));
return dateString;
}
 
/**
 * 获取一段日期内的所有日期集合yyyy-MM-dd
 * */
 
public static List<String> getDateList(String startDate, String endDate) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
List<String> list = new ArrayList<String>();
try {
Date start = sdf.parse(startDate);
Date end = sdf.parse(endDate);
 
while (start.compareTo(end) <= 0) {
list.add(sdf.format(start));
Calendar calendar = Calendar.getInstance();
calendar.setTime(start);
calendar.add(Calendar.DATE, 1);
start = calendar.getTime();
}
 
} catch (ParseException e1) {
e1.printStackTrace();
list.clear();
return list;
}
return list;
}
 
/**
 * 获取整周 日期集合yyyy-MM-dd
 * */
public static List<WeekDaysData> getWholeWeeks(String startDay, String endDay) {
List<WeekDaysData> list = new ArrayList<WeekDaysData>();
String dayInList = "";
List<String> dayList = getDateList(startDay, endDay);
for(String day : dayList){
String monday = getMonday(day);
String sunday = getSunday(day);
if(!dayInList.contains(monday)){
WeekDaysData weekDaysData = new WeekDaysData();
weekDaysData.setStartTime(monday);
weekDaysData.setEndTime(sunday);
list.add(weekDaysData);
dayInList += monday+",";
}
}
return list;
}
 
/**
 * 获取整月 日期集合yyyy-MM
 * */
public static List<WeekDaysData> getWholeMonths(String startDay, String endDay) {
List<WeekDaysData> list = new ArrayList<WeekDaysData>();
String dayInList = "";
List<String> dayList = getDateList(startDay, endDay);
for(String day : dayList){
String monty = day.substring(0, 7);
if(!dayInList.contains(monty)){
WeekDaysData weekDaysData = new WeekDaysData();
weekDaysData.setMonthTime(monty);
list.add(weekDaysData);
dayInList += monty+",";
}
}
return list;
}
 
/**
 * 获取前三日 日期集合yyyy-MM-dd包含当天
 * */
public static List<WeekDaysData> getThreeDays(String startDay, String endDay) {
List<WeekDaysData> list = new ArrayList<WeekDaysData>();
List<String> dayList = getDateList(startDay, endDay);
for(String day : dayList){
String preDay = getPreOrAfterDayTime(day, -2);
WeekDaysData weekDaysData = new WeekDaysData();
weekDaysData.setStartTime(preDay);
weekDaysData.setEndTime(day);
list.add(weekDaysData);
}
return list;
}
 
/**
 * 获取前七日 日期集合yyyy-MM-dd包含当天
 * */
public static List<WeekDaysData> getSevenDays(String startDay, String endDay) {
List<WeekDaysData> list = new ArrayList<WeekDaysData>();
List<String> dayList = getDateList(startDay, endDay);
for(String day : dayList){
String preDay = getPreOrAfterDayTime(day, -6);
WeekDaysData weekDaysData = new WeekDaysData();
weekDaysData.setStartTime(preDay);
weekDaysData.setEndTime(day);
list.add(weekDaysData);
}
return list;
}
 
/**
 * 获取前三十 日期集合yyyy-MM-dd包含当天
 * */
public static List<WeekDaysData> getThirtyDays(String startDay, String endDay) {
List<WeekDaysData> list = new ArrayList<WeekDaysData>();
List<String> dayList = getDateList(startDay, endDay);
for(String day : dayList){
String preDay = getPreOrAfterDayTime(day, -29);
WeekDaysData weekDaysData = new WeekDaysData();
weekDaysData.setStartTime(preDay);
weekDaysData.setEndTime(day);
list.add(weekDaysData);
}
return list;
}
 
/**
 * 获取当前日期周一yyyy-MM-dd
 * */
public static String getMonday(String day){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
try {
cal.setTime(df.parse(day));
} catch (ParseException e) {
e.printStackTrace();
}
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); // 获取本周一的日期
return df.format(cal.getTime());
}
/**
 * 获取当前日期周日yyyy-MM-dd
 * */
public static String getSunday(String day){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
try {
cal.setTime(df.parse(day));
} catch (ParseException e) {
e.printStackTrace();
}
cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
cal.add(Calendar.WEEK_OF_YEAR, 1);
return df.format(cal.getTime());
}
 
/**
 * 获取当前日期前后几日日期 yyyy-MM-dd
 * */
public static String getPreOrAfterDayTime(String day,int number){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
try {
cal.setTime(df.parse(day));
} catch (ParseException e) {
e.printStackTrace();
}
cal.add(Calendar.DATE, number);
return df.format(cal.getTime());
}
 
public static void main(String[] args) {
List<WeekDaysData> list = getThirtyDays("2013-04-25", "2013-04-30");
for(WeekDaysData d : list){
System.out.println(d.getStartTime()+":::"+d.getEndTime()+":::"+d.getMonthTime());
}
}
}



package com.hellogame.platform.platformbean;
 
public class WeekDaysData {
private String startTime = "";//yyyy-MM-dd
private String endTime = "";//yyyy-MM-dd
private String monthTime = "";//yyyy-MM
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public String getMonthTime() {
return monthTime;
}
public void setMonthTime(String monthTime) {
this.monthTime = monthTime;
}
 
}
 
分享到:
评论

相关推荐

    java日期处理大全

    ### Java日期处理大全:掌握时间的艺术 在Java编程中,日期和时间的处理是不可或缺的一部分,尤其是在涉及到数据记录、时间戳、定时任务等场景时。本文将深入探讨Java中的日期处理技术,涵盖从基础到进阶的各种技巧...

    java日期操作大全

    以下是对给定内容中涉及的Java日期操作进行的详细说明: 1. **获取指定月份的第一天**: 使用`java.util.Calendar`类可以方便地获取指定日期所在月份的第一天。首先,将输入的日期字符串转换为`java.util.Date`...

    java日期时间转换大全

    ### Java日期时间转换大全 在Java编程中,处理日期和时间是常见的需求,尤其是在涉及到数据库操作、文件命名、日志记录等场景时。本文将详细解析如何在Java中进行日期和时间的转换,涵盖从字符串到日期对象的转换,...

    java日期类函数方法整理

    根据给定的文件信息,...以上就是对Java日期类函数方法的整理和解释,涵盖了基本的日期操作,包括日期的格式化、解析、转换以及年份和月份的获取等。掌握这些函数和方法,能够帮助开发者更高效地处理日期相关的任务。

    Java日期程序案例(日历,获取当前日期方法、日期查询、日期比较,日期判断)

    Java日期程序案例(日历,获取当前日期方法、日期查询、日期比较,日期判断);Java日期程序案例(日历,获取当前日期方法、日期查询、日期比较,日期判断);Java日期程序案例(日历,获取当前日期方法、日期查询、...

    Java 获取日期时间代码

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

    Java日期工具类

    Java日期工具类 1、日期的各种格式化 2、获取当前年度 3、获取当前月份 4、获取当前天号数 5、获取当前时间往前推一个月的时间 6、获取上个月("MMM yyyy") 7、获取上个月("yyyymm") 8、获取上个月("yyyy-mm") 9、...

    java获取时间大全

    Java获取时间是一个重要...了解并熟练掌握这些Java日期时间处理的原理和方法,将对提升开发效率和代码质量大有裨益。在实际开发中,根据项目需求选择合适的时间处理类和方法,可以更好地处理各种日期和时间相关的问题。

    java语言日期处理大全

    以下是一些关于Java日期处理的关键知识点,这些知识点在给定的文件中有所提及: 1. **获取当前日期**: Java通过`java.util.Date`类可以获取服务器上的当前日期。创建一个Date对象即会返回当前系统时间,如`Date ...

    java获取日期 本周本年 本月 上一年

    java获取日期 本周本年 本月 上一年java获取日期 本周本年 本月 上一年java获取日期 本周本年 本月 上一年java获取日期 本周本年 本月 上一年java获取日期 本周本年 本月 上一年java获取日期 本周本年 本月 上一年...

    JAVA日期格式大全

    `JAVA日期格式大全`这个主题涵盖了许多关于在Java中如何格式化、解析和操作日期的技巧和方法。这篇博客文章,虽然链接未提供具体内容,但我们可以根据常规知识和Java API来探讨日期和时间处理的关键知识点。 1. **...

    java日期转化操作大全

    在Java编程语言中,日期和时间的处理是常见的任务,涉及到日期的创建、格式化、解析、比较以及各种转换操作。本篇文章将深入探讨Java中日期转换的各种方法和技巧。 一、日期对象的创建 在Java中,日期对象可以通过...

    java 日期选择控件DateChooser

    Java 日期选择控件DateChooser是Java Swing库中的一种组件,用于在GUI应用程序中方便用户进行日期选择。这个控件通常被用在需要用户输入日期的场景,如表单、日历应用或时间相关的功能中。DateChooser提供了一个可视...

    java农历计算(输入公历日期获取农历日期)

    输入公历日期获取农历日期,具体应用请自己修改。。

    Java 日期比较工具类

    Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )

    java操作日期大全

    ### Java操作日期大全 在Java开发中,对日期时间的操作是一项基本且重要的任务。本文将详细介绍如何使用Java处理各种日期类型及其转换、提取指定日期的各个组成部分、获取当前日期及指定格式、计算指定月份的天数...

    java日期格式转换

    ### Java日期格式转换详解 在Java开发中,对日期和时间进行操作是非常常见的需求之一。本文将基于给定文件中的代码示例,详细介绍如何在Java中实现日期格式的转换,并探讨其中涉及的关键知识点。 #### 一、理解...

    Java日期管理程序

    这些类提供了对日期和时间的操作和处理,例如获取当前日期、计算日期差、判断日期是否在某个范围内等。 在本程序中,我们使用了 java.util.Date 类来处理日期信息。java.util.Date 类是 Java 中最基本的日期类,...

    用java写的根据公历日期获取阴历日期及生辰八字,及属相的demo

    用java写的根据公历日期获取阴历日期及生辰八字,及属相的demo

    Java DateUtil.java日期时间操作类源代码.rar

    Java DateUtil.java日期时间操作类源代码,DateUtil类包含了标准的时间和日期格式,以及这些格式在字符串及日期之间转换的方法。比如日期格式转换成时间戳、得到格式化后的系统当前日期、转化日期格式"MM/dd/YY、MM....

Global site tag (gtag.js) - Google Analytics