Java 增加并打印一个月内的所有天数
我已经开始写一些代码,需要打印一个月内的所有日期,我可以通过每天添加一个来完成,但必须有一个我缺少的更短的方法。这是到目前为止我的代码 我知道它不是最漂亮的,我想知道如何打印日期,而它在一月份每天递增,而不必每次不断添加1,然后每次打印LNJava 增加并打印一个月内的所有天数,java,Java,我已经开始写一些代码,需要打印一个月内的所有日期,我可以通过每天添加一个来完成,但必须有一个我缺少的更短的方法。这是到目前为止我的代码 我知道它不是最漂亮的,我想知道如何打印日期,而它在一月份每天递增,而不必每次不断添加1,然后每次打印LN public static void main(String [] args) { Calendar calendar = Calendar.getInstance() calendar.set.(Integer.parseInt(args[0]), In
public static void main(String [] args) {
Calendar calendar = Calendar.getInstance()
calendar.set.(Integer.parseInt(args[0]), Integer.parseInt(args[1]), Integer.parseInt(args[2]));
System.out.println(calendar.getTime());
calendar.add(Calendar.DATE, 1);
System.out.println(calendar.getTime());
}
}
这是一个工作示例:
使用Java8本地日期的简单示例,如问题所示
import java.time.LocalDate;
public class Test
{
public static void main(String[] args)
{
LocalDate ld = LocalDate.of(Integer.parseInt(args[0]), Integer.parseInt(args[1]), Integer.parseInt(args[2]));
do {
System.out.println(ld.toString());
ld = ld.plusDays(1);
} while (ld.getDayOfMonth() > 1); // arive at 1st of next month
}
}
这个例子怎么样
@JRubyMethod(name = {"asctime", "ctime"})
public RubyString asctime() {
DateTimeFormatter simpleDateFormat;
if (dt.getDayOfMonth() < 10) {
simpleDateFormat = ONE_DAY_CTIME_FORMATTER;
} else {
simpleDateFormat = TWO_DAY_CTIME_FORMATTER;
}
String result = simpleDateFormat.print(dt);
return getRuntime().newString(result);
}
@JRubyMethod(name={“asctime”,“ctime”})
公共RubyString asctime(){
DateTimeFormatter simpleDateFormat;
if(dt.getDayOfMonth()<10){
simpleDateFormat=一天时间格式化程序;
}否则{
simpleDateFormat=两天时间格式化程序;
}
字符串结果=SimpleDataFormat.print(dt);
返回getRuntime().newString(结果);
}
这里有完整的资料来源:这里有一个简单的例子,可以打印一个月中的所有日期。时间部分已设置为零 在这里,我们打印了2016年3月的所有日期
Tue Mar 01 00:00:00 MST 2016
Wed Mar 02 00:00:00 MST 2016
Thu Mar 03 00:00:00 MST 2016
Fri Mar 04 00:00:00 MST 2016
Sat Mar 05 00:00:00 MST 2016
Sun Mar 06 00:00:00 MST 2016
Mon Mar 07 00:00:00 MST 2016
Tue Mar 08 00:00:00 MST 2016
Wed Mar 09 00:00:00 MST 2016
Thu Mar 10 00:00:00 MST 2016
Fri Mar 11 00:00:00 MST 2016
Sat Mar 12 00:00:00 MST 2016
Sun Mar 13 00:00:00 MST 2016
Mon Mar 14 00:00:00 MDT 2016
Tue Mar 15 00:00:00 MDT 2016
Wed Mar 16 00:00:00 MDT 2016
Thu Mar 17 00:00:00 MDT 2016
Fri Mar 18 00:00:00 MDT 2016
Sat Mar 19 00:00:00 MDT 2016
Sun Mar 20 00:00:00 MDT 2016
Mon Mar 21 00:00:00 MDT 2016
Tue Mar 22 00:00:00 MDT 2016
Wed Mar 23 00:00:00 MDT 2016
Thu Mar 24 00:00:00 MDT 2016
Fri Mar 25 00:00:00 MDT 2016
Sat Mar 26 00:00:00 MDT 2016
Sun Mar 27 00:00:00 MDT 2016
Mon Mar 28 00:00:00 MDT 2016
Tue Mar 29 00:00:00 MDT 2016
Wed Mar 30 00:00:00 MDT 2016
Thu Mar 31 00:00:00 MDT 2016
这段代码将与Java6、Java7和Java8一起使用
package com.ggl.testing;
import java.util.Calendar;
public class PrintMonth {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
if (args.length == 2) {
int year = Integer.parseInt(args[0]);
int month = Integer.parseInt(args[1]);
calendar.set(year, month, 1);
}
int month = calendar.get(Calendar.MONTH);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
while (calendar.get(Calendar.MONTH) == month) {
System.out.println(calendar.getTime());
calendar.add(Calendar.DATE, 1);
}
}
}
publicstaticvoidmain(字符串[]args){
LocalDate date=LocalDate.of(Integer.parseInt(args[0]),Integer.parseInt(args[1]),1);
对于(int i=0;i
使用循环让你的生活更轻松。那是哪一版本的Java?如果是8,为什么不使用JSR310?如果是7或更少,您为什么不使用Joda Time?LocalDateRange是什么?辩论检查器?如果您使用的是第三方库,通常会提到它。我不明白这段代码如何回答一个月中所有日子都要打印的问题。这段代码中没有一个打印,输入参数没有被检查…我想知道upvote的原因。这个答案是不完整的,没有给出答案为什么要用jruby来回答一个简单的java问题?您希望用户下载并安装jruby来用java打印一个月的天数??什么是一天时间格式化程序?我想知道投票的原因。这个答案是不完整的,不给答案很有帮助,谢谢
package com.ggl.testing;
import java.util.Calendar;
public class PrintMonth {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
if (args.length == 2) {
int year = Integer.parseInt(args[0]);
int month = Integer.parseInt(args[1]);
calendar.set(year, month, 1);
}
int month = calendar.get(Calendar.MONTH);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
while (calendar.get(Calendar.MONTH) == month) {
System.out.println(calendar.getTime());
calendar.add(Calendar.DATE, 1);
}
}
}
public static void main(String[] args) {
LocalDate date = LocalDate.of(Integer.parseInt(args[0]), Integer.parseInt(args[1]), 1);
for (int i = 0; i < date.lengthOfMonth(); i++) {
System.out.println(date);
date = date.plusDays(1);
}
}