只有年份的java中的日期

时间:2011-07-13 12:22:53

标签: java date format

我的目标是以'{current year} -01-01 00:00:00'的格式获取日期,即只有年份的值随时间变化。 最好的方法是什么。

使用

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-01-01 00:00:00");
String format = simpleDateFormat.format(new Date());

看起来不够干净。我还有其他选择吗?

5 个答案:

答案 0 :(得分:5)

您应该使用Calendar对象。更容易管理,如果你需要到date那里有方法。

  Calendar cal = Calendar.getInstance();
 //Set to whatever date you want as default
  cal.set(Calendar.YEAR, *year you want*);

答案 1 :(得分:4)

您可以使用Calendar对象使用以下代码:

Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.YEAR, year);

答案 2 :(得分:1)

尝试使用这样的日历:

new GregorianCalendar(Locale.CANADA).get(Calendar.YEAR);

答案 3 :(得分:0)

您可以执行类似

的操作
Calendar cal = Calendar.getInstance();
cal.set(2011,1,1,0,0,0);

然后您可以使用

更改此对象的年份
cal.set(Calendar.YEAR, [your-int-year]);

以任何你想要的方式打印它。

答案 4 :(得分:0)

你可以这样做:

Calendar today = Calendar.getInstance()
String date = today.get(Calendar.YEAR) + "-01-01 00:00:00"