相关疑难解决方法(0)

如何从Java中的Date对象中减去X天?

我想做的事情如下:

Date date = new Date(); // current date
date = date - 300; // substract 300 days from current date and I want to use this "date"
Run Code Online (Sandbox Code Playgroud)

怎么做?

java datetime calendar date java.util.date

124
推荐指数
6
解决办法
26万
查看次数

Y返回2012,而y在SimpleDateFormat中返回2011

我想知道为什么'Y'会回归2012而'y'会在2011年回归SimpleDateFormat:

System.out.println(new SimpleDateFormat("Y").format(new Date())); // prints 2012
System.out.println(new SimpleDateFormat("y").format(new Date())); // prints 2011
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释原因吗?

java date simpledateformat

75
推荐指数
3
解决办法
2万
查看次数

Calendar.getInstance提供错误的日期

我创建了几个小方法作为Util类,如下面的代码:

public class Util
{
  public static final String DATETIME_PATTERN="YYYY/MM/DD - HH:mm:ss";

  public static String getDateTime()
  {
    SimpleDateFormat sdf=new SimpleDateFormat(DATETIME_PATTERN);
    return sdf.format(getToday());
  }

  public static Date getToday()
  {
    //Calendar today=Calendar.getInstance(); //didn't help
    Calendar today=Calendar.getInstance(Locale.TAIWAN); //didn't fix
    //Calendar today=Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); //didn't fix as well
    return today.getTime();
  }
}
Run Code Online (Sandbox Code Playgroud)

而且,做了一个非常简单的运行,像这样:

//run in main class
System.out.println("Generating sitemap.xml, please wait..."+Util.getDateTime());
Run Code Online (Sandbox Code Playgroud)

结果是一个非常奇怪的日期 - > 2017/07/117

//Console result:
Generating sitemap.xml, please wait...2017/07/187 - 15:27:21
Run Code Online (Sandbox Code Playgroud)

搜索了类似的问题,并尝试了TimeZone,Locale,但没有帮助.有什么建议 ?


顺便说一句,这是我的环境:

  • Windows7 x86
  • JDK 1.8.0.131 x86
  • 蚀氧x86

java calendar date

-4
推荐指数
1
解决办法
627
查看次数