Java日历表怎么实现
在Java中,我们可以使用java.util.Calendar
类来实现日历表的功能,以下是一个简单的示例,展示了如何使用Calendar
类创建一个日历表,并打印出当前月份的所有日期:
import java.text.SimpleDateFormat; import java.util.Calendar; public class CalendarDemo { public static void main(String[] args) { // 创建一个Calendar实例 Calendar calendar = Calendar.getInstance(); // 设置年份和月份 calendar.set(Calendar.YEAR, 2022); calendar.set(Calendar.MONTH, Calendar.JANUARY); // 注意:月份是从0开始的,所以1月对应的值是0 // 获取上一年的天数 int daysInPreviousYear = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); // 打印日历表标题 System.out.println("日\t一\t二\t三\t四\t五\t六"); // 打印空格,使表格更加美观 for (int i = 1; i < (7 * (daysInPreviousYear + 1)) / 5 + 1; i++) { System.out.print("\t"); } System.out.println(); // 打印日期 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (int day = 1; day <= daysInPreviousYear; day++) { String dateStr = String.format("%d", day); if (day % 5 == 0) { System.out.println(dateStr + "\t" + dateStr + "\t" + dateStr + "\t" + dateStr + "\t" + dateStr + "\t" + dateStr); } else { System.out.print(dateStr + "\t"); } } } }
运行上述代码,将会输出如下格式的日历表:
日 一 二 三 四 五 六 2022-01-01 2022-01-01 2022-01-02 2022-01-03 2022-01-04 2022-01-05 2022-01-06
相关问题与解答
1、如何将日历表转换为Excel文件?
答:可以使用Apache POI库将日历表转换为Excel文件,需要添加Apache POI依赖到项目中,可以使用以下代码将日历表写入到Excel文件中:
import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io.IOException; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.SimpleDateFormat; import java.util.concurrent.TimeUnit; public class ExcelDemo { public static void main(String[] args) throws IOException { // 创建一个工作簿和工作表 Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet("日历表"); // 设置列宽自适应宽度 sheet.autoSizeColumn(0); sheet.autoSizeColumn(1); sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); sheet.autoSizeColumn(4); sheet.autoSizeColumn(5); sheet.autoSizeColumn(6); // 设置标题行样式 Row headerRow = sheet.createRow(0); CellStyle headerCellStyle = workbook.createCellStyle(); headerCellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex()); headerCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); headerCellStyle.setAlignment(HorizontalAlignment.CENTER); headerCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); headerCellStyle.setBorderTop(BorderStyle.THIN); headerCellStyle.setBorderBottom(BorderStyle.THIN); headerCellStyle.setBorderLeft(BorderStyle.THIN); headerCellStyle.setBorderRight(BorderStyle.THIN); headerCellStyle.setFontWeight(FontWeight.BOLD); headerCellStyle.setWrapText(true); headerRow.createCell(0).setCellValue("日").setCellStyle(headerCellStyle); headerRow.createCell(1).setCellValue("一").setCellStyle(headerCellStyle); headerRow.createCell(2).setCellValue("二").setCellStyle(headerCellStyle); headerRow.createCell(3).setCellValue("三").setCellStyle(headerCellStyle); headerRow.createCell(4).setCellValue("四").setCellStyle(headerCellStyle); headerRow.createCell(5).setCellValue("五").setCellStyle(headerCellStyle); headerRow.createCell(6).setCellValue("六").setCellStyle(headerCellStyle);
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/222078.html