提倡了一下中文写,
static public void main(String 参数[]){
SimpleDateFormat 格式=new SimpleDateFormat("y年M月d日 E H时m分s秒",LocaleCHINA);
Calendar 日历=CalendargetInstance(LocaleCHINA);
//当前时间,貌似多余,其实是为了所有可能的系统一致
日历setTimeInMillis(SystemcurrentTimeMillis());
Systemoutprintln("当前时间:"+格式format(日历getTime()));
日历set(CalendarDAY_OF_WEEK, CalendarMONDAY);
Systemoutprintln("周一时间:"+格式format(日历getTime()));
}
===========
改到后天测了一下
输出
当前时间:2011年8月31日 星期三 12时32分40秒
周一时间:2011年8月29日 星期一 12时32分40秒
获取本周一
public static Date getNowWeekMonday(Date date) {Calendar cal = CalendargetInstance();
calsetTime(date);
caladd(CalendarDAY_OF_MONTH, -1); //解决周日会出现 并到下一周的情况
calset(CalendarDAY_OF_WEEK, CalendarMONDAY);
303 return calgetTime();
}
获取上周一
public static Date getLastWeekMonday(Date date) {Date a = DateUtilsaddDays(date, -1);
Calendar cal = CalendargetInstance();
calsetTime(a);
caladd(CalendarWEEK_OF_YEAR, -1);// 一周
calset(CalendarDAY_OF_WEEK, CalendarMONDAY);
return calgetTime();
}
获取上周日
public static Date getLastWeekSunday(Date date) {
Date a = DateUtilsaddDays(date, -1);
Calendar cal = CalendargetInstance();
calsetTime(a);
calset(CalendarDAY_OF_WEEK, 1);
return calgetTime();
}
代码里面有用到 lapachecommon-ang包 你需要下载下 就可以使用
在iphone日历中显示节日步骤如下:
1、打开手机,进入手机桌面
2、首先在我们的手机桌面上找到日历并点击它,
3、然后点击屏幕中的日历,
4、接着勾选中国节假日并点击完成,
5、这样 *** 作完成,我们就可以查询到当前日期所对应的节假日了。
获得当天的日期:[root@master ~]# date +%Y-%m-%d
有时候需要使用今天之前或者往后的日期,这时可以使用date的 -d参数。
获取明天的日期:date -d next-day +%Y%m%d
获取昨天的日期:date -d last-day +%Y%m%d
获取上个月的年和月:date -d last-month +%Y%m
获取下个月的年和月:date -d next-month +%Y%m
获取明年的年份:date -d next-year +%Y
扩展资料
时间域参数:
时间域参数用于格式化输出日期,相关时间域参数如下:
% H 小时(00…23)
% I 小时(01…12)
% k 小时(0…23)
% l 小时(1…12)
% M 分(00…59)
% p 显示出AM或PM
% r 时间(hh:mm:ss AM或PM),12小时
% s 从1970年1月1日00:00:00到目前经历的秒数
% S 秒(00…59)
迟来的答案
1周末版本(不含节假日判断)
注意:最下面是使用的 递归算法
/获得收益时间(获取当前天+1天,周末不算)
@param date
任意日期
@return the income date
@throws NullPointerException
if null == date
/
private Date getIncomeDate(Date date) throws NullPointerException{
if (null == date){
throw new NullPointerException("the date is null or empty!");
}
//对日期的 *** 作,我们需要使用 Calendar 对象
Calendar calendar = new GregorianCalendar();
calendarsetTime(date);
//+1天
calendaradd(CalendarDAY_OF_MONTH, +1);
//判断是星期几
int dayOfWeek = calendarget(CalendarDAY_OF_WEEK);
Date incomeDate = calendargetTime();
if (dayOfWeek == 1 || dayOfWeek == 7){
//递归
return getIncomeDate(incomeDate);
}
return incomeDate;
}
测试方法:
@Testpublic void testGetIncomeDate() throws ParseException{
String pattern = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
Systemoutprintln(simpleDateFormatformat(getIncomeDate(new Date())));
Systemoutprintln(simpleDateFormatformat(getIncomeDate(simpleDateFormatparse("2014-07-31 13:33:05"))));
Systemoutprintln(simpleDateFormatformat(getIncomeDate(simpleDateFormatparse("2014-08-01 13:33:05"))));
Systemoutprintln(simpleDateFormatformat(getIncomeDate(simpleDateFormatparse("2014-08-02 13:33:05"))));
Systemoutprintln(simpleDateFormatformat(getIncomeDate(simpleDateFormatparse("2014-08-03 13:33:05"))));
}
输出结果:
2014-08-01 13:48:092014-08-01 13:33:05
2014-08-04 13:33:05
2014-08-04 13:33:05
2014-08-04 13:33:05
注意:返回的是 时间+1的时间,精度是到毫秒 纳秒,如果有特殊需求,需要自己再处理下
2周末+节假日版本
/获得收益时间(获取当前天+1天,周末不算)
@param date
任意日期
@return the income date
@throws NullPointerException
if null == date
/
private Date getIncomeDate(Date date) throws NullPointerException{
if (null == date){
throw new NullPointerException("the date is null or empty!");
}
//对日期的 *** 作,我们需要使用 Calendar 对象
Calendar calendar = new GregorianCalendar();
calendarsetTime(date);
//+1天
calendaradd(CalendarDAY_OF_MONTH, +1);
Date incomeDate = calendargetTime();
if (isWeekend(calendar) || isHoliday(calendar)){
//递归
return getIncomeDate(incomeDate);
}
return incomeDate;
}
/
判断一个日历是不是周末
@param calendar
the calendar
@return true, if checks if is weekend
/
private boolean isWeekend(Calendar calendar){
//判断是星期几
int dayOfWeek = calendarget(CalendarDAY_OF_WEEK);
if (dayOfWeek == 1 || dayOfWeek == 7){
return true;
}
return false;
}
/
一个日历是不是节假日
@param calendar
the calendar
@return true, if checks if is holiday
/
private boolean isHoliday(Calendar calendar){
String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String dateString = simpleDateFormatformat(calendargetTime());
//节假日 这个可能不同地区,不同年份 都有可能不一样,所以需要有个地方配置, 可以放数据库, 配置文件,环境变量 等等地方
//这里以配置文件 为例子
ResourceBundle resourceBundle = ResourceBundlegetBundle("holidayConfig");
String holidays = resourceBundlegetString("holiday");
String[] holidayArray = holidayssplit(",");
boolean isHoliday = orgapachecommonslangArrayUtilscontains(holidayArray, dateString);
return isHoliday;
}
配置文件:
holiday=2014-10-01,2014-10-02,2014-10-03,2014-10-04,2014-10-05,2014-10-06,2014-10-07测试方法 :
/Testenclosing_type
@throws ParseException
the parse exception
/
@Test
public void testGetIncomeDate() throws ParseException{
String pattern = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
Systemoutprintln(simpleDateFormatformat(getIncomeDate(new Date())));
Systemoutprintln(simpleDateFormatformat(getIncomeDate(simpleDateFormatparse("2014-07-31 13:33:05"))));
Systemoutprintln(simpleDateFormatformat(getIncomeDate(simpleDateFormatparse("2014-08-01 13:33:05"))));
Systemoutprintln(simpleDateFormatformat(getIncomeDate(simpleDateFormatparse("2014-08-02 13:33:05"))));
Systemoutprintln(simpleDateFormatformat(getIncomeDate(simpleDateFormatparse("2014-08-03 13:33:05"))));
Systemoutprintln(simpleDateFormatformat(getIncomeDate(simpleDateFormatparse("2014-09-30 13:33:05"))));
Systemoutprintln(simpleDateFormatformat(getIncomeDate(simpleDateFormatparse("2014-10-02 13:33:05"))));
}
结果:
2014-08-01 15:14:592014-08-01 13:33:05
2014-08-04 13:33:05
2014-08-04 13:33:05
2014-08-04 13:33:05
2014-10-08 13:33:05
2014-10-08 13:33:05
以上就是关于java 获取当前日期时间和本周的星期一的日期时间全部的内容,包括:java 获取当前日期时间和本周的星期一的日期时间、java 如何获取 上周一日期,上周末日期,本周一日期。、如何在iphone日历中显示节日等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)