Java获取本周、本月、本年、及各种时间段的工具类

论坛 期权论坛     
匿名小用户   2019-10-20 18:26   491   0
<!-- flowchart 箭头图标 勿删 -->
                    <svg style="display: none;">
                        <path d="M5,0 0,2.5 5,5z" id="raphael-marker-block" stroke-linecap="round" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
                    </svg>
                                            <pre class="blockcode"><code class="hljs cs">import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;

<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> DateUtils {
    <span class="hljs-comment">// 获取当天的开始时间</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> java.util.Date <span class="hljs-title">getDayBegin</span>() {
    Calendar cal = <span class="hljs-keyword">new</span> GregorianCalendar();
    cal.<span class="hljs-keyword">set</span>(Calendar.HOUR_OF_DAY, <span class="hljs-number">0</span>);
    cal.<span class="hljs-keyword">set</span>(Calendar.MINUTE, <span class="hljs-number">0</span>);
    cal.<span class="hljs-keyword">set</span>(Calendar.SECOND, <span class="hljs-number">0</span>);
    cal.<span class="hljs-keyword">set</span>(Calendar.MILLISECOND, <span class="hljs-number">0</span>);
    <span class="hljs-keyword">return</span> cal.getTime();
    }

    <span class="hljs-comment">// 获取当天的结束时间</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> java.util.Date <span class="hljs-title">getDayEnd</span>() {
    Calendar cal = <span class="hljs-keyword">new</span> GregorianCalendar();
    cal.<span class="hljs-keyword">set</span>(Calendar.HOUR_OF_DAY, <span class="hljs-number">23</span>);
    cal.<span class="hljs-keyword">set</span>(Calendar.MINUTE, <span class="hljs-number">59</span>);
    cal.<span class="hljs-keyword">set</span>(Calendar.SECOND, <span class="hljs-number">59</span>);
    <span class="hljs-keyword">return</span> cal.getTime();
    }

    <span class="hljs-comment">// 获取昨天的开始时间</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> Date <span class="hljs-title">getBeginDayOfYesterday</span>() {
    Calendar cal = <span class="hljs-keyword">new</span> GregorianCalendar();
    cal.setTime(getDayBegin());
    cal.add(Calendar.DAY_OF_MONTH, -<span class="hljs-number">1</span>);
    <span class="hljs-keyword">return</span> cal.getTime();
    }

    <span class="hljs-comment">// 获取昨天的结束时间</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> Date <span class="hljs-title">getEndDayOfYesterDay</span>() {
    Calendar cal = <span class="hljs-keyword">new</span> GregorianCalendar();
    cal.setTime(getDayEnd());
    cal.add(Calendar.DAY_OF_MONTH, -<span class="hljs-number">1</span>);
    <span class="hljs-keyword">return</span> cal.getTime();
    }

    <span class="hljs-comment">// 获取明天的开始时间</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> Date <span class="hljs-title">getBeginDayOfTomorrow</span>() {
    Calendar cal = <span class="hljs-keyword">new</span> GregorianCalendar();
    cal.setTime(getDayBegin());
    cal.add(Calendar.DAY_OF_MONTH, <span class="hljs-number">1</span>);

    <span class="hljs-keyword">return</span> cal.getTime();
    }

    <span class="hljs-comment">// 获取明天的结束时间</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> Date <span class="hljs-title">getEndDayOfTomorrow</span>() {
    Calendar cal = <span class="hljs-keyword">new</span> GregorianCalendar();
    cal.setTime(getDayEnd());
    cal.add(Calendar.DAY_OF_MONTH, <span class="hljs-number">1</span>);
    <span class="hljs-keyword">return</span> cal.getTime();
    }

    <span class="hljs-comment">// 获取本周的开始时间</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> Date <span class="hljs-title">getBeginDayOfWeek</span>() {
    Date date = <span class="hljs-keyword">new</span> Date();
    <span class="hljs-keyword">if</span> (date == <span class="hljs-keyword">null</span>) {
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">null</span>;
    }
    Calendar cal = Calendar.getInstance();
    cal.setTime(date);
    <span class="hljs-keyword">int</span> dayofweek = cal.<span class="hljs-keyword">get</span>(Calendar.DAY_OF_WEEK);
    <span class="hljs-keyword">if</span> (dayofweek == <span class="hljs-number">1</span>) {
        dayofweek += <span class="hljs-number">7</span>;
    }
    cal.add(Calendar.DATE, <span class="hljs-number">2</span> - dayofweek);
    <span class="hljs-keyword">return</span> getDayStartTime(cal.getTime());
    }

    <span class="hljs-comment">// 获取本周的结束时间</span>
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> Date <span class="hljs-title">getEndDayOfWeek</span>() {
    Calendar cal = Calendar.getInstance();
    cal.setTime(getBeginDayOfWeek());
    cal.add(Calendar.DAY_OF_WEEK, <span class="hljs-number">6</span>);
    Date weekEndSta = cal.getTime();
    <span class="hljs-keyword">return</span> getDayEndTime(weekEndSta);
    }

    <span class="hljs-comment">// 获取本月的开始时间</span>
    <span class="hljs-keyword">public
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:50
帖子:1079
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP