package com.banksteel.openerp.commons.utils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class CalendarUtils
{
/**
* @description:获取当前的时间
* @param pattern 时间格式
* @return 当前的时间
* @author:
* @createTime:2016年12月13日 下午4:36:32
*/
public static String getNowTime(String pattern)
{
// 当周开始时间
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat(pattern);
if (pattern == null || pattern.equals(""))
{
pattern = "yyyy-MM-dd";
}
return format.format(currentDate.getTime());
}
/**
* @description:获取本周的开始时间
* @param pattern 时间格式
* @return 本周的开始时间
* @author:
* @createTime:2016年12月13日 下午4:28:12
*/
public static String getWeekStart(String pattern)
{
// 当周开始时间
Calendar currentDate = Calendar.getInstance();
currentDate.setFirstDayOfWeek(Calendar.MONDAY);
currentDate.set(Calendar.HOUR_OF_DAY, 0);
currentDate.set(Calendar.MINUTE, 0);
currentDate.set(Calendar.SECOND, 0);
currentDate.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
SimpleDateFormat format = new SimpleDateFormat(pattern);
if (pattern == null || pattern.equals(""))
{
pattern = "yyyy-MM-dd";
}
return format.format(currentDate.getTime());
}
/**
* @description:获取本周的结束时间
* @param pattern 时间格式
* @return 本周的结束时间
* @author:
* @createTime:2016年12月13日 下午4:28:58
*/
public static String getWeekEnd(String pattern)
{
// 当周结束时间
Calendar currentDate = Calendar.getInstance();
currentDate.setFirstDayOfWeek(Calendar.MONDAY);
currentDate.set(Calendar.HOUR_OF_DAY, 23);
currentDate.set(Calendar.MINUTE, 59);
currentDate.set(Calendar.SECOND, 59);
currentDate.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
SimpleDateFormat format = new SimpleDateFormat(pattern);
if (pattern == null || pattern.equals(""))
{
pattern = "yyyy-MM-dd";
}
return format.format(currentDate.getTime());
}
/**
* @description:获取当前月第一天
* @param pattern 时间格式
* @return 当前月第一天
* @author:
* @createTime:2016年12月13日 下午4:28:12
*/
public static String getMonthStart(String pattern)
{
//获取当前月第一天
Calendar currentDate = Calendar.getInstance();
currentDate.add(Calendar.MONTH, 0);
currentDate.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
if (pattern == null || pattern.equals(""))
{
pattern = "yyyy-MM-dd";
}
SimpleDateFormat format = new SimpleDateFormat(pattern);
return format.format(currentDate.getTime());
}
/**
* @description:获取当前月最后一天
* @param pattern 时间格式
* @return 当前月最后一天
* @author:
* @createTime:2016年12月13日 下午4:28:58
*/
public static String getMonthEnd(String pattern)
{
//获取当前月最后一天
Calendar currentDate = Calendar.getInstance();
currentDate.set(Calendar.DAY_OF_MONTH, currentDate.getActualMaximum(Calendar.DAY_OF_MONTH));
if (pattern == null || pattern.equals(""))
{
pattern = "yyyy-MM-dd";
}
SimpleDateFormat format = new SimpleDateFormat(pattern);
return format.format(currentDate.getTime());
}
public static void main(String[] args)
{
//System.out.println("当前的时间:" +getNowTime("yyyy-MM-dd"));
//System.out.println("本周第一天:" +getWeekStart("yyyy-MM-dd"));
//System.out.println("本周最后一天:" +getWeekEnd("yyyy-MM-dd"));
System.out.println("当前月第一天:" +getMonthStart("yyyy-MM-dd"));
System.out.println("当前月最后一天:" +getMonthEnd("yyyy-MM-dd"));
}
}