
java Club 108092625
获取指定日期建议使用Calendar ,通过Calendar的add方法你可以设置获取当前日期前多少天,后多少天
比如使用下面的工具类:
String currentData= DateTimeUtilsgetSystemDate() // 返回当前日期,格式为yyyy-MM-dd
String beforeFiveDays = DateTimeUtilsaddDays(currentData, -5); //前五天
String afterFiveDays = DateTimeUtilsaddDays(currentData, 5); //后五天
附上一个工具类:
import javatextParseException;
import javatextSimpleDateFormat;
import javautilCalendar;
import javautilDate;
/
日期时间工具类
/
public final class DateTimeUtil
{
private DateTimeUtil()
{
}
private static String DATE_FORMAT_PATTERN = "yyyyMMdd";
private static String TIME_FORMAT_PATTERN = "HHmmss";
/
转换字符串为日期
@param source
字符串形式的日期表示
@return Date
/
public static Date toDateTime(String source, String pattern)
{
Date date = null;
try
{
SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
date = dateFormatparse(source);
}
catch (ParseException e)
{
// nothing
}
return date;
}
/
转换字符串为日期
@param source
字符串形式的日期<code>yyyyMMdd</code>
@return Date
/
public static Date toDate(String source)
{
return toDateTime(source, DATE_FORMAT_PATTERN);
}
/
转换字符串为时间
@param source
字符串形式的时间<code>HHmmss</code>
@return Date
/
public static Date toTime(String source)
{
return toDateTime(source, TIME_FORMAT_PATTERN);
}
/
将一种形式的字符串日期转换为另一种形式的字符串日期
@param source
原日期字符串
@param fromPattern
原日期字符串格式
@param toPattern
目标日期字符串格式
@return 新的日期字符串
/
public static String convert(String source, String fromPattern, String toPattern)
{
Date date = toDateTime(source, fromPattern);
if (date == null)
{
return null;
}
SimpleDateFormat dateFormat = new SimpleDateFormat(toPattern);
return dateFormatformat(date);
}
/
在指定的日期上面增加指定的天数
@param source
源日期(yyyyMMdd)
@param days
天数,正负皆可
@return
/
public static String addDays(String source, int days)
{
Date date = toDate(source);
Calendar calendar = CalendargetInstance();
calendarsetTime(date);
calendaradd(CalendarDATE, days);
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_PATTERN);
return dateFormatformat(calendargetTime());
}
/
在指定的日期上面增加指定的月数
@param source
原日期(yyyyMMdd)
@param months
月数,正负皆可
@return
/
public static String addMonth(String source , int months)
{
Date date = toDate(source);
Calendar calendar = CalendargetInstance();
calendarsetTime(date);
calendaradd(CalendarMONTH, months);
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_PATTERN);
return dateFormatformat(calendargetTime());
}
/
在指定的日期上面增加指定的年数
@param source
原日期(yyyyMMdd)
@param years
年数,正负皆可
@return
/
public static String addYears(String source, int years)
{
Date date = toDate(source);
Calendar calendar = CalendargetInstance();
calendarsetTime(date);
calendaradd(CalendarYEAR, years);
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT_PATTERN);
return dateFormatformat(calendargetTime());
}
/
返回指定格式的时间字符串
@param format
(返回字符串的格式)
@return dateStr
@throws ParseException
/
public static String getSystemDateTime(String format)
{
Date date = new Date();
SimpleDateFormat simpDate = new SimpleDateFormat(format);
String dateStr = simpDateformat(date);
return dateStr;
}
/
取当前日期,格式yyyyMMdd
@return
/
public static String getSystemDate()
{
return getSystemDateTime(DATE_FORMAT_PATTERN);
}
/
取当前时间,格式HHmmss
@return
/
public static String getSystemTime()
{
return getSystemDateTime(TIME_FORMAT_PATTERN);
}
/
格式化指定日期
@param date
日期
@param pattern
格式串
@return
/
public static String format(Date date, String pattern)
{
SimpleDateFormat simpDate = new SimpleDateFormat(pattern);
String dateStr = simpDateformat(date);
return dateStr;
}
/
格式化指定日期
@param date
日期
@param pattern
格式串
@return
/
public static String format(long date, String pattern)
{
Date date2 = new Date(date);
return format(date2, pattern);
}
}
你的意思的 如果当前时间是18点 - 2359之间才返回 否则不返回是不 Date d = new Date(); int hours = dgetHours(); if(18<hours<0){ return d; }else{ return null; }
java获取一个时间的年月日代码及相关解释说明参考下面代码
package zhidao;
import javautilCalendar;
public class Test {
public static void main(String[] args) {
Calendar cal=CalendargetInstance();//使用日历类
int year=calget(CalendarYEAR);//获取年份
int month=calget(CalendarMONTH)+1;//获取月份,因为从0开始的,所以要加1
int day=calget(CalendarDAY_OF_MONTH);//获取天
Systemoutprintln("结果:"+year+"-"+month+"-"+day);
}
}
在Java中,如何获取不同时区的当前时间你知道这道题的正确答案应该如何回答吗背后的原理又是什么呢
然后,紧接着,我又提出了以下问题:
为什么以下代码无法得到美国时间。(在东八区的计算机上)
接下来,java课程培训机构就围绕这两个问题,来带领读者一起学习一下哪些和Java中的时间有关的概念。
时区
前面提到了时区,可能很多读者不知道什么是时区,先来简单介绍一下。
时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。时区通过设立一个区域的标准时间部分地解决了这个问题。
世界各个国家位于地球不同位置上,因此不同国家,特别是东西跨度大的国家日出、日落时间必定有所偏差。这些偏差就是所谓的时差。
为了照顾到各地区的使用方便,又使其他地方的人容易将本地的时间换算到别的地方时间上去。有关国际会议决定将地球表面按经线从东到西,划成一个个区域,并且规定相邻区域的时间相差1小时。在同一区域内的东端和西端的人看到太阳升起的时间最多相差不过1小时。当人们跨过一个区域,就将自己的时钟校正1小时(向西减1小时,向东加1小时)
接下来,本文就围绕这两个问题,来带领读者一起学习一下哪些和Java中的时间有关的概念。
时区
前面提到了时区,可能很多读者不知道什么是时区,先来简单介绍一下。
时区是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1863年,首次使用时区的概念。时区通过设立一个区域的标准时间部分地解决了这个问题。
世界各个国家位于地球不同位置上,因此不同国家,特别是东西跨度大的国家日出、日落时间必定有所偏差。这些偏差就是所谓的时差。
为了照顾到各地区的使用方便,又使其他地方的人容易将本地的时间换算到别的地方时间上去。有关国际会议决定将地球表面按经线从东到西,划成一个个区域,并且规定相邻区域的时间相差1小时。在同一区域内的东端和西端的人看到太阳升起的时间最多相差不过1小时。当人们跨过一个区域,就将自己的时钟校正1小时(向西减1小时,向东加1小时
import javatextSimpleDateFormat;
import javautilDate;
Date d=new Date();//获取时间
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//转换格式
Systemoutprintln(sdfformat(d));//打印
以上就是关于如果在JAVA中获得指定时间全部的内容,包括:如果在JAVA中获得指定时间、java中如何获取几分钟或者几小时前的时间、java 怎么获取一个时间的年月日等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)