文档章节

向前或向后推算日期

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中创建表如下: 请问编写什么样的sql语句能实现当天的日期,向后推算七天之间的时间,取得这七天所有的数据????

小波1126
2012/03/14
2.6K
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.5K
3
自定义控件三部曲之动画篇(二)——Interpolator插值器

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

harvic880925
2014/10/13
0
0
linux中less的常用操作

在 less 中导航命令类似于 vi。本文中将介绍一些导航命令以及使用 less 的其它一些技巧。 1 搜索 当使用命令 less file-name 打开一个文件后,可以使用下面的方式在文件中搜索。搜索时整个文...

整理秀逗的脑袋
2011/12/05
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

eslint rules 规则

'rules': { "comma-dangle": ["error", "never"], //是否允许对象中出现结尾逗号 "no-cond-assign": 2, //条件语句的条件中不允许出现赋值运算符 "no-console": 2, //不允许出现console语句 ...

agenyun
19分钟前
1
0
类型判断时instanceof和equals的不同用法

接口设计时为了避免序列化的麻烦,将接口定义为参数为map<String,String>类型的接口,但是现在调用时需要转换当前的实体Bean为Map,接口接收方再把Map转换为另一个Bean实体。过程中的需要对类...

wangtx
25分钟前
1
0
vue 组件间传值(个人精编)

1.父组件向子组件传值 1⃣️.子组件标签绑定需要传递的参数名2⃣️.子组件页面使用props 接收参数 2.子组件向父组件传值  1⃣️.子组件使用$emit来触发一个自定义事件,并传递一个参...

MrBoyce
35分钟前
1
0
(荷兰)彼得·冯·门施著:博物馆学研究的目的

博物馆学研究的目的 (荷)彼得·冯·门施 尽管诸多关于博物馆学认知目的的不同看法可以被归纳为数个主要群体,但没有一个群体可以被称为“学派”。一般来说,学派是由于博物馆学研究目的的不...

乔老哥
45分钟前
2
0
Vue slot的用法

之前看官方文档,由于自己理解的偏差,不知道slot是干嘛的,看到小标题,使用Slot分发内容,就以为 是要往下派发内容。然后就没有理解插槽的概念。其实说白了,使用slot就是先圈一块地,将来...

peakedness丶
57分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部