首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GregorianCalendar常量日期

GregorianCalendar常量日期
EN

Stack Overflow用户
提问于 2009-09-13 02:27:50
回答 2查看 2.8K关注 0票数 0

好的,我想让我的程序打印出日期: 1/1/2009

但这是它打印出来的:

2009年东部标准时间清华1月01 00:00:00

从这段代码

代码语言:javascript
复制
GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart()
{
    startDate.setLenient(false);
    Date date = new Date(startDate.getTimeInMillis());
    System.out.println(date);
}

如何才能将其更改为仅打印2009年1月1日?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-13 02:35:56

使用SimpleDateFormat

代码语言:javascript
复制
GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart() {
  startDate.setLenient(false); 
  DateFormat df = new SimpleDateFormat("d/M/yyyy");
  df.format(startDate.getDate());
}

您隐式地调用了toString()方法,该方法(正确地)打印出完整的内容。

顺便说一句,没有必要像你现在这样构造一个日期。在Calendar上调用getDate()将返回一个Date对象。

票数 2
EN

Stack Overflow用户

发布于 2009-09-13 02:38:36

目前,正在调用Date.toString()方法来显示GregorianCalendar实例的String表示。

需要做的是创建一个DateFormat,它将产生所需的String表示。DateFormat对象可用于通过format方法将Date实例格式化为所需的格式。

实现所需内容的最简单方法是使用SimpleDateFormat类,该类具有以所需形式输出Dateconstructor which takes a format string

代码语言:javascript
复制
Calendar calendar = new GregorianCalendar(2009, Calendar.JANUARY, 1);
DateFormat df = new SimpleDateFormat("M/d/yyyy");
System.out.println(df.format(calendar.getTime()));

输出

代码语言:javascript
复制
1/1/2009
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1416682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档