相关疑难解决方法(0)

Java日期年度计算按年计算,为期两天

如果你能想象的话,这会在我的软件中引起Y2K风格的错误.奇怪的是,一年的计算只发生在一年中的两天,我不太确定如何排除故障.

输出:

03-Jan-2013
02-Jan-2013
01-Jan-2013
31-Dec-2013 ** strange
30-Dec-2013 ** strange
29-Dec-2012
28-Dec-2012
27-Dec-2012
26-Dec-2012
25-Dec-2012
Run Code Online (Sandbox Code Playgroud)

我不确定Java日期实用程序的哪一部分可能导致此类错误.

代码(因为测试很小,我包括一个完整的工作程序):

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

public class DateT {

        private static String getFormattedBackscanStartTime(int days) {

                SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-YYYY");
                Calendar workingDate = Calendar.getInstance();
                workingDate.add(Calendar.DATE, -1 * days);

                String formattedStartTime = dateFormat.format(workingDate.getTime());
                return formattedStartTime;
        }

        public static void main(String args[]) {

                for(int i = 35; i < 45; i++) {
                        System.out.println(getFormattedBackscanStartTime(i));
                }
        }
}
Run Code Online (Sandbox Code Playgroud)

java calendar date simpledateformat

15
推荐指数
2
解决办法
3923
查看次数

标签 统计

calendar ×1

date ×1

java ×1

simpledateformat ×1