java 输出全年日期_java遍历一整年的日期

输出内容概览

bcce066ca583

image.png

测试代码

public class HolidayTest {

private static String SOUT_DATE_FORMAT = "日期:%s\t年:%d\t月:%d\t日:%d\t天数:%d\t周数:%d\t周末:%s";

@Test

public void test() {

String dateFormat = "yyyy-MM-dd";

LocalDate localDateStart = Jdk8DateFormatter.strToLocalDate("2020-01-01", dateFormat);

LocalDate localDateEnd = Jdk8DateFormatter.strToLocalDate("2020-12-31", dateFormat);

int diff = localDateEnd.getDayOfYear() - localDateStart.getDayOfYear();

int weekOfYear = 1;

DayOfWeek dayOfWeek = localDateStart.getDayOfWeek();

String isWeekend = dayOfWeek.ordinal() > 4 ? "是" : "";

System.out.println(String.format(SOUT_DATE_FORMAT, localDateStart.format(DateTimeFormatter.ofPattern(dateFormat)),

localDateStart.getYear(), localDateStart.getMonthValue(), localDateStart.getDayOfMonth(), localDateStart.getDayOfYear(),

weekOfYear, isWeekend));

LocalDate temp = localDateStart;

for (int i = 0; i < diff; i++) {

temp = temp.plusDays(1);

dayOfWeek = temp.getDayOfWeek();

isWeekend = dayOfWeek.ordinal() > 4 ? "是" : "";

if (dayOfWeek.ordinal() == 6) {

weekOfYear++;

}

System.out.println(String.format(SOUT_DATE_FORMAT, temp.format(DateTimeFormatter.ofPattern(dateFormat)),

temp.getYear(), temp.getMonthValue(), temp.getDayOfMonth(), temp.getDayOfYear(),

weekOfYear, isWeekend));

}

}

}

JDK8日期格式化工具

/**

* 参考jdk8 doc https://docs.oracle.com/javase/tutorial/datetime/iso/period.html

* stackoverflow https://stackoverflow.com/questions/25776787/java-simpledateformat-format-issue-with-yyyy/25777559#25777559

*

* @version 0.1

* @auth amzing.

* @time 2018/8/25 12:25

* @since 0.1

*/

public class Jdk8DateFormatter {

public static String NORMAL_FORMATTER = "yyyy-MM-dd HH:mm:ss";

/**

* 标准 yyyy-MM-dd HH:mm:ss

* @param date

* @return

*/

public static String dateFormatter(Date date){

return dateFormatter(date,NORMAL_FORMATTER);

}

public static String dateFormatter(Date date,String formatter){

return dateToLocalDateTime(date).format(DateTimeFormatter.ofPattern(formatter));

}

/**

* LocalDate

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值