Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中用月份和年份显示当前月份的日期?_Java_Date - Fatal编程技术网

如何在Java中用月份和年份显示当前月份的日期?

如何在Java中用月份和年份显示当前月份的日期?,java,date,Java,Date,如何在Java中动态显示for循环中特定月份的日期、月份和年份?这简要演示了Java中的SimpleDataFormat和GregorianCalendar类的一些基础知识。根据你的问题,这是我能做的最好的了 import java.text.SimpleDateFormat; import java.util.GregorianCalendar; public class Main { public static void main(String[] args) {

如何在Java中动态显示for循环中特定月份的日期、月份和年份?

这简要演示了Java中的
SimpleDataFormat
GregorianCalendar
类的一些基础知识。根据你的问题,这是我能做的最好的了

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;

public class Main {
    public static void main(String[] args) {
        int year = 2012;
        int month = 4;

        /* The format string for how the dates will be printed. */
        SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");

        /* Create a calendar for the first of the month. */
        GregorianCalendar calendar = new GregorianCalendar(year, month, 1);

        /* Loop through the entire month, day by day. */
        while (calendar.get(GregorianCalendar.MONTH) == month) {
            String dateString = format.format(calendar.getTime());
            System.out.println(dateString);

            calendar.add(GregorianCalendar.DATE, 1);
        }
    }
}

本文简要介绍了Java中的
SimpleDataFormat
GregorianCalendar
类的一些基础知识。根据你的问题,这是我能做的最好的了

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;

public class Main {
    public static void main(String[] args) {
        int year = 2012;
        int month = 4;

        /* The format string for how the dates will be printed. */
        SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");

        /* Create a calendar for the first of the month. */
        GregorianCalendar calendar = new GregorianCalendar(year, month, 1);

        /* Loop through the entire month, day by day. */
        while (calendar.get(GregorianCalendar.MONTH) == month) {
            String dateString = format.format(calendar.getTime());
            System.out.println(dateString);

            calendar.add(GregorianCalendar.DATE, 1);
        }
    }
}
使用java.time 另一个答案是使用麻烦的旧日期时间类,现在是遗留的,由java.time类取代

LocalDate
该类表示一个仅限日期的值,不包含一天中的时间和时区

时区 时区对于确定日期至关重要。在任何一个特定的时刻,世界各地的日期都因地区而异。例如,中午夜后几分钟是新的一天,而中仍然是“昨天”

大陆/地区
的格式指定,例如,或
太平洋/奥克兰
。切勿使用3-4个字母的缩写,如
EST
IST
,因为它们不是真正的时区,也不是标准化的,甚至不是唯一的(!)

YearMonth
我们关心整个月。所以用一个对象来表示它

YearMonth ym = YearMonth.from( today );
得到这个月的第一天

LocalDate localDate = ym.atDay( 1 );
循环,每次递增一天,直到月底。我们可以通过查看每个递增的日期是否与今天的
YearMonth
相同来测试这一事实。在
列表中收集每个日期

List<LocalDate> dates = new ArrayList<>( 31 );  // Collect each date. We know 31 is maximum number of days in any month, so set initial capacity.
while( YearMonth.of( localDate).equals( ym ) ) {  // While in the same year-month.
    dates.add( localDate ); // Collect each incremented `LocalDate`.
    System.out.println( localDate );
    // Set up next loop.
    localDate = localDate.plusDays( 1 );
}
List dates=new ArrayList(31);//收集每个日期。我们知道31是任何月份的最大天数,所以设置初始容量。
while(YearMonth.of(localDate).equals(ym)){//while在同一年的月份。
dates.add(localDate);//收集每个递增的'localDate'。
System.out.println(localDate);
//设置下一个循环。
localDate=localDate.plusDays(1);
}

关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&

该项目现已启动,建议迁移到类

要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是

从哪里获得java.time类

  • 后来
    • 内置的
    • 标准JavaAPI的一部分,带有捆绑实现
    • Java9添加了一些次要功能和修复
    • 大部分java.time功能都在中向后移植到Java6和Java7
    • 该项目专门为Android采用了ThreeTen Backport(如上所述)
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,例如,和。

使用java.time 另一个答案是使用麻烦的旧日期时间类,现在是遗留的,由java.time类取代

LocalDate
该类表示一个仅限日期的值,不包含一天中的时间和时区

时区 时区对于确定日期至关重要。在任何一个特定的时刻,世界各地的日期都因地区而异。例如,中午夜后几分钟是新的一天,而中仍然是“昨天”

大陆/地区
的格式指定,例如,或
太平洋/奥克兰
。切勿使用3-4个字母的缩写,如
EST
IST
,因为它们不是真正的时区,也不是标准化的,甚至不是唯一的(!)

YearMonth
我们关心整个月。所以用一个对象来表示它

YearMonth ym = YearMonth.from( today );
得到这个月的第一天

LocalDate localDate = ym.atDay( 1 );
循环,每次递增一天,直到月底。我们可以通过查看每个递增的日期是否与今天的
YearMonth
相同来测试这一事实。在
列表中收集每个日期

List<LocalDate> dates = new ArrayList<>( 31 );  // Collect each date. We know 31 is maximum number of days in any month, so set initial capacity.
while( YearMonth.of( localDate).equals( ym ) ) {  // While in the same year-month.
    dates.add( localDate ); // Collect each incremented `LocalDate`.
    System.out.println( localDate );
    // Set up next loop.
    localDate = localDate.plusDays( 1 );
}
List dates=new ArrayList(31);//收集每个日期。我们知道31是任何月份的最大天数,所以设置初始容量。
while(YearMonth.of(localDate).equals(ym)){//while在同一年的月份。
dates.add(localDate);//收集每个递增的'localDate'。
System.out.println(localDate);
//设置下一个循环。
localDate=localDate.plusDays(1);
}

关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&

该项目现已启动,建议迁移到类

要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是

从哪里获得java.time类

  • 后来
    • 内置的
    • 标准JavaAPI的一部分,带有捆绑实现
    • Java9添加了一些次要功能和修复
    • 大部分java.time功能都在中向后移植到Java6和Java7
    • 该项目专门为Android采用了ThreeTen Backport(如上所述)

该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。你可以在这里找到一些有用的课程,如、、和。

这是家庭作业吗?如果是这样的话,请给它贴上这样的标签。此外,你最好展示你迄今为止所做的尝试,并描述你遇到的具体问题,而不是简单地试图让人们分发免费代码来解决你的问题。你尝试了什么?不,我正在以不同的方式尝试。请给我一些建议。“我尝试的是…”为了更快地获得更好的帮助,请发布一篇关于你所付出的最大努力的文章,并添加一个关于如何做的具体问题