栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java编写全年考勤日历

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java编写全年考勤日历

本文实例为大家分享了java编写全年考勤日历的具体代码,供大家参考,具体内容如下

JAVA代码:

package com.wp.action;
 
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
 
public class CalendarAction extends MainAction {
 
 private static final long serialVersionUID = 1L;
 
 private int maxCols;
 private String html;
 private String clickDate;
 
 public String getClickDate() {
 return clickDate;
 }
 
 public void setClickDate(String clickDate) {
 this.clickDate = clickDate;
 }
 
 public String init() {
 Calendar cal = Calendar.getInstance();
 int month = cal.get(Calendar.MONTH) + 1;
 initMaxCols();
 html = createTbl();
 
 return SUCCESS;
 }
 
 private void initMaxCols() {
 // 每行开头灰色的格数
 int headDisabledDays;
 // 当月的天数
 int oneMonthDays;
 Calendar cal = Calendar.getInstance();
 cal.set(Calendar.DAY_OF_MONTH, 1);
 
 for (int i = 0; i < 12; i++) {
 
  if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
  // 周日空六格
  headDisabledDays = 6;
  } else {
  headDisabledDays = cal.get(Calendar.DAY_OF_WEEK)
   - Calendar.MONDAY;
  }
 
  oneMonthDays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
  if (headDisabledDays + oneMonthDays > maxCols) {
  maxCols = headDisabledDays + oneMonthDays;
  }
  cal.add(Calendar.MONTH, 1);
 }
 
 }
 
 private String createTbl() {
 StringBuffer html = new StringBuffer();
 String[] weekdays = { "一", "二", "三", "四", "五", "六", "日" };
 SimpleDateFormat formatTd = new SimpleDateFormat("yyyyMMdd");
 SimpleDateFormat formatHeader = new SimpleDateFormat("yyyy年MM月");
 SimpleDateFormat formatTitle = new SimpleDateFormat("yyyy年MM月dd日");
 HashMap map = getCalendarDetail();
 
 // 每行开头灰色的格数
 int headDisabledDays;
 
 // html.append("rn");
 html.append("rn");
 html.append("rn");
 for (int col = 0; col < maxCols; col++) {
  html.append("rn");
 }
 html.append("rn");
 Calendar cal = Calendar.getInstance();
 int month = cal.get(Calendar.MONTH);
 for (int months = 0; months < 12; months++) {
  html.append("rn");
  String s;
  s = formatHeader.format(cal.getTime());
  html.append("rn");
  
  cal.set(Calendar.DAY_OF_MONTH, 1);
  if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
  // 周日空六格
  headDisabledDays = 6;
  } else {
  headDisabledDays = cal.get(Calendar.DAY_OF_WEEK)
   - Calendar.MONDAY;
  }
  cal.add(Calendar.DAY_OF_MONTH, -headDisabledDays);
 
  for (int col = 0; col < maxCols; col++) {
 
  html.append("rn");
  cal.add(Calendar.DAY_OF_MONTH, 1);
 
  }
 
  html.append("rn");
  if (month == cal.get(Calendar.MONTH)) {
  cal.add(Calendar.MONTH, 1);
  }
  month = cal.get(Calendar.MONTH);
 }
 // html.append("
"); html.append(weekdays[col % weekdays.length]); html.append("
" + s + " 0) { // html.append("class='disabledTd'"); // }else if (month != cal.get(Calendar.MONTH)) { html.append("class='disabledTd'"); } else if (map.containsKey(formatTd.format(cal.getTime()))) { int type = Integer.parseInt(map.get(formatTd.format(cal .getTime()))); if(type == 1){ //html.append("class='holidayTd'"); }else if(type == 2){ html.append("class='holidayTd'"); } } else if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) { html.append("class='weekendTd'"); } else { html.append("class='generalTd'"); } html.append(" title='" + formatTitle.format(cal.getTime()) + "'"); html.append(">"); html.append(cal.get(Calendar.DAY_OF_MONTH)); html.append("
rn"); return html.toString(); } public String getHtml() { return html; } public void setHtml(String html) { this.html = html; } private HashMap getCalendarDetail() { HashMap map; map = new HashMap(); map.put("20150404", "2"); map.put("20150405", "2"); map.put("20150406", "2"); map.put("20150501", "2"); map.put("20150502", "2"); map.put("20150503", "2"); map.put("20150622", "2"); map.put("20151001", "2"); map.put("20151002", "2"); map.put("20151003", "2"); return map; } public String dateCellClick(){ return SUCCESS; } }

action配置:


   

HTML代码:


<%@ page language="java" contentType="text/html; charset=utf-8"
 pageEncoding="utf-8"%>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
  + request.getServerName() + ":" + request.getServerPort()
  + path;
%>
<%@taglib prefix="s" uri="/struts-tags"%>

 
  .disabledTd{
  background-color:gray;
  }
  .weekendTd{
  background-color:yellow;
  }
  .holidayTd{
  background-color:green;
  }
  .generalTd{
  background-color:white;
  }
  #calTbl{
  font-family: verdana,arial,sans-serif;
  font-size:13px;
  color:#333333;
  border-width: 1px;
  border-color: #a9c6c9;
  border-collapse: collapse;
  }
  #calTbl th{
  border-width: 1px;
  padding: 4px;
  border-style: solid;
  border-color: #a9c6c9;
  background-color:olive;
  }
  #calTbl td {
  border-width: 1px;
  padding: 4px;
  border-style: solid;
  border-color: #a9c6c9;
  }
  .rowHeader{
  background-color:olive;
  }
 
 
 
 
 
 Login page
 
 
 
 
 
 
  
 
 
 
  

效果如下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/139604.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号