Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何根据特定月份重置/更新计数器?_Java_Algorithm_Functional Programming_Apex - Fatal编程技术网

Java 如何根据特定月份重置/更新计数器?

Java 如何根据特定月份重置/更新计数器?,java,algorithm,functional-programming,apex,Java,Algorithm,Functional Programming,Apex,我正在努力想出一个干净的方法来做到这一点,所以任何帮助都将是巨大的 例如,从用户指定的日期开始,每年4月(用户输入)都需要重置标志。即: 2015年1月1日-->0 2015年1月2日-->0 2015年1月3日-->0 2015年1月4日-->1 2015年1月5日-->1 . . . 2016年1月1日-->1 . . 2016年1月4日-->2 2016年1月5日-->2 2016年1月6日-->2 . . . 2017年1月1日-->2 . . 2017年1月4日-->3 . . 我试图

我正在努力想出一个干净的方法来做到这一点,所以任何帮助都将是巨大的

例如,从用户指定的日期开始,每年4月(用户输入)都需要重置标志。即:
2015年1月1日-->0
2015年1月2日-->0
2015年1月3日-->0
2015年1月4日-->1
2015年1月5日-->1
.
.
.
2016年1月1日-->1
.
.
2016年1月4日-->2
2016年1月5日-->2
2016年1月6日-->2
.
.
.
2017年1月1日-->2
.
.
2017年1月4日-->3
.
.

我试图在Apex中实现这一点,但任何流行语言的算法都足够了。谢谢

您可以使用和执行以下操作:

import java.text.SimpleDateFormat;
import java.util.Calendar;

public static void main(String[] args) {

  int counter = 0;
  SimpleDateFormat test = new SimpleDateFormat("04/25/2015");
  Calendar cal = Calendar.getInstance();
  if (test.MONTH_FIELD == Calendar.APRIL);
  {
      counter++;
  }
}

存储有问题的日期,计算到当前日期的年偏移量:<代码>2014年1月4日已被选择->2017年1月4日-2014年1月4日=3