公历日历常数日期

发布于 2024-08-04 09:55:44 字数 397 浏览 4 评论 0 原文

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

但这就是它打印出的内容:

Thu Jan 01 00:00:00 EST 2009

从这段代码

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 日?

Ok, I want to make my program print out the date: 1/1/2009

But this is what it prints out:

Thu Jan 01 00:00:00 EST 2009

From this code

GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
public void setStart()
{
    startDate.setLenient(false);
    Date date = new Date(startDate.getTimeInMillis());
    System.out.println(date);
}

How can I change it so that it only prints out 1/1/2009?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半枫 2024-08-11 09:55:44

使用 SimpleDateFormat

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 对象。

Use SimpleDateFormat:

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());
}

You're implicitly calling the toString() method which is (correctly) printing out the complete contents.

By the way, there is no need to construct a date the way you're doing. Calling getDate() on a Calendar returns a Date object.

天生の放荡 2024-08-11 09:55:44

目前,日期。调用 toString() 方法来显示 GregorianCalendar 实例。

需要做的是创建一个 DateFormat 它将生成所需的 String 表示形式。 DateFormat 对象可用于使用 Date 实例格式化为所需的格式。 docs/api/java/text/DateFormat.html#format(java.util.Date)" rel="nofollow noreferrer">format 方法。

实现所需的最简单方法是使用 SimpleDateFormat 类,它有一个 构造函数,它采用格式字符串以所需的形式输出日期

Calendar calendar = new GregorianCalendar(2009, Calendar.JANUARY, 1);
DateFormat df = new SimpleDateFormat("M/d/yyyy");
System.out.println(df.format(calendar.getTime()));

输出

1/1/2009

Currently, the Date.toString() method is being called to display the String representation of the GregorianCalendar instance.

What needs to be done is to create a DateFormat which will produce a String representation which is desired. The DateFormat object can be used to format a Date instance to the desired formatting using the format method.

The simplest way to achieve what is desired is to use the SimpleDateFormat class, which has a constructor which takes a format string to output the Date in a desired form.

Calendar calendar = new GregorianCalendar(2009, Calendar.JANUARY, 1);
DateFormat df = new SimpleDateFormat("M/d/yyyy");
System.out.println(df.format(calendar.getTime()));

Output

1/1/2009
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文