文档章节

向前或向后推算日期

tawnie
 tawnie
发布于 2014/06/02 18:24
字数 196
阅读 94
收藏 7
import java.util.Calendar;
import java.util.Date;

/**
 * Created by Nicole on 6/2/2014.
 */
public class NicoleDateUtils {

    public static final String BEFORE = "B";
    public static final String AFTER = "A";

    /**
     * 向前或向后推算时间
     * @param date 日期计数
     * @param num 向前或向后推算几天
     * @param status 向前或向后推算
     * @return Date
     */
    public static Date calculateDate(Date date, Integer num, String status) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        int mod = num % 5;
        int other = num / 5 *7;
        for (int i = 0; i < mod;) {
            if (BEFORE.equals(status)) {
                cal.add(Calendar.DATE, -1);
                switch (cal.get(Calendar.DAY_OF_WEEK)) {
                    case Calendar.SUNDAY:
                    case Calendar.SATURDAY:
                        break;
                    default:
                        i++;
                        break;
                }
            }else if (AFTER.equals(status)) {
                cal.add(Calendar.DATE, 1);
                switch (cal.get(Calendar.DAY_OF_WEEK)) {
                    case Calendar.SUNDAY:
                    case Calendar.SATURDAY:
                        break;
                    default:
                        i++;
                        break;
                }
            }
        }
        if (other > 0) {
            if (BEFORE.equals(status)) {
                cal.add(Calendar.DATE, other*(-1));
            }else if (AFTER.equals(status)) {
                cal.add(Calendar.DATE, other);
            }
        }
        return  cal.getTime();
    }

    public static void main(String[] args) {

        System.out.println("now : " + new Date());

        System.out.println("before : " + calculateDate(new Date(), 4, "B"));

        System.out.println("after : " + calculateDate(new Date(), 4, "A"));
    }

}



© 著作权归作者所有

共有 人打赏支持
tawnie
粉丝 0
博文 5
码字总数 1373
作品 0
苏州
程序员
请问在Oracle中怎么编写sql语句实现今天的日期向后推七天的时间???

我是在oracle中创建表如下: CREATE TABLE doctorWorkDate(doctorWorkDate_id NUMBER(18),doctorWorkDate_date date(18), ------------时间doctor_id NUMBER(18), ------------医生编号docto......

小波1126
2012/03/14
2.5K
3
jQuery日期选择插件--glDatePicker

glDatePicker是一个简单,可以定义,轻量级jQuery日期选择插件。压缩后只有4KB左右。它提供的一些功能包括:向前和向后导航,默认当天日期高亮选中,显示当前选中的日期,限制日期选择范围(...

匿名
2011/08/14
20.1K
2
glDatePicker 2.0 发布,jQuery 日期选择插件

glDatePicker 2.0 发布了,该版本完全进行重写,代码托管到 Github 之上,包括功能、样式的更新和 bug修复。 glDatePicker是一个简单,可以定义,轻量级jQuery日期选择插件。压缩后只有4KB左...

oschina
2013/01/08
3.4K
3
自定义控件三部曲之动画篇(二)——Interpolator插值器

前言:虽然我不太能欣赏的了帕尔哈提的音乐,但我确实很欣赏他的人生态度,专心做自己,不想名利得失,有一天,你想要的东西都会来。其实我觉得,人生最可怕的就是停止不前,只要一直前行,总...

harvic880925
2014/10/13
0
0
10 新鲜的 jQuery 插件(2012年1月)

1. jQuery UI Bootstrap 一个基于 Twitter Bootstrap 的 jQuery UI 主题 2. jqGrid 这是非常棒的jQuery 表格插件,在线演示:here. 3. Cloud Zoom Cloud Zoom 是一个小型的图像放大镜插件,放...

红薯
2012/02/01
4.7K
6

没有更多内容

加载失败,请刷新页面

加载更多

活动推荐|互联网3.0与区块链新时代论坛(北京)

1 时间地点 **时间:**9月22日 14:00 - 18:00 地点:(北京海淀)西大街70号 3w咖啡 二层 2 活动详情 Harmony创始人Stephen及团队将介绍他们的区块链分片扩容技术。Stephen曾任Apple地图服务...

HiBlock
42分钟前
1
0
如何优雅的删除Redis的大key

关于Redis大键(Key),我们从[空间复杂性]和访问它的[时间复杂度]两个方面来定义大键。前者主要表示Redis键的占用内存大小;后者表示Redis集合数据类型(set/hash/list/sorted set)键,所含有的...

IT--小哥
52分钟前
1
0
spring cloud学习笔记

工具 eclipse 4.9 gradle 4.10.2 spring cloud Finchley.SR1 spring boot 2.0.4 build.gradle buildscript {ext {springBootVersion = '2.0.4.RELEASE'}repositories {jcenter()......

bobby2006
54分钟前
1
0
Tcl命令操作实验-----(5)

Vivado% proc myproc {arg} {puts $arg}Vivado% myproc mynamemynameVivado% if {2>1} {puts 2>1} else {puts 2<1}2>1...

whoisliang
今天
1
0
比特币钱包RPC的PHP调用方法

当我们希望在Php开发的网站中加入比特币支付功能时,需要解决的第一个 问题,就是如何在Php程序代码中调用比特币钱包的RPC API开发接口来实现 我们期望的功能,例如比特币的支付与接收。 例如...

汇智网教程
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部