📄 datechannel.java
字号:
import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
public class DateChannel extends Channel
{
DateChannel()
{
channelName = "日历";
}
public void makeChannel(Person p,TemplateList tempList,HtmlOut desHtml)
{
SingleTemplate st;
st = tempList.searchTemplate("频道2");
if(st==null)
return ;
int nKey = st.getKeyNum ();
String sKey ;
for(int i=0;i<nKey;i++){
desHtml.addString (st.getStringAt (i));
sKey = st.getKeyAt (i);
if( sKey.compareTo("cgi-path")==0 )
desHtml.addString (CommonMethods.sHostNameCGI);
if( sKey.compareTo("标题")==0 )
desHtml.addString ( channelName );
if( sKey.compareTo("内容")==0 )
this.makeChannelContents( p, tempList, desHtml);
if( sKey.compareTo("CloseCGI")==0 )
desHtml.addString ( "CloseChannel?channel=date" );
if (sKey.compareTo ("链接")==0)
desHtml.addString ("DateShowDay");
}
desHtml.addString(st.getEndString());
return ;
}
public void makeChannelContents(Person p,TemplateList tempList,HtmlOut desHtml)
{
String userName="";
userName=p.getName ();
SingleTemplate st;
st = tempList.searchTemplate("日历");
if (st == null)
return;
MyCalendar date;
date = new MyCalendar ();
//date.report ();
String sKey;
Calendar Current = Calendar.getInstance ();
int nMonth,nYear,nDay,nHours,nMinute,nSecond;
String sNlMonth="",sNlDay="",sNlYear="";
String sMonth="";
nMonth = Current.get(Current.MONTH) ;
nYear = Current.get(Current.YEAR );
nDay = Current.get (Current.DATE );
nHours = Current.get(Current.HOUR_OF_DAY );
nMinute = Current.get(Current.MINUTE );
nSecond = Current.get (Current.SECOND );
MyCalendar myCalendar = new MyCalendar ();
myCalendar.getDate (nYear,nMonth,nDay);
if ((nYear<1900)||(nYear>=2050))
{
desHtml.addString ("只显示1900-2049年之间的日历");
return;
}
sNlYear = myCalendar.getNlYear ();
sNlMonth = myCalendar.getNlMonth ();
sNlDay = myCalendar.getNlDay ();
//nNlMonth = myCalendar
int nKey = st.getKeyNum ();
//建立数据库连接
DBOperater DB= new DBOperater ("Dataholiday");
ResultSet rs = DB.executeQuery ("select Hname from Dateholiday where ((month='"+(nMonth+1)+"' and day ='"+ nDay+"') or ( month='"+sNlMonth+"' and day = '"+sNlDay+"'))");
//查询今天是否是节日或需要提醒的特别的日子
String sResultDay="";
if (rs!=null){
try{
while(rs.next())
{ sResultDay = rs.getString(1);}
}
catch(Exception e){
}
}
DB.close();
//查询此时是否需要提醒用户相关日程
if( st == null)
return;
switch(nMonth)
{
case 0:
sMonth="一月";
break;
case 1:
sMonth="二月";
break;
case 2:
sMonth="三月";
break;
case 3:
sMonth="四月";
break;
case 4:
sMonth="五月";
break;
case 5:
sMonth="六月";
break;
case 6:
sMonth="七月";
break;
case 7:
sMonth="八月";
break;
case 8:
sMonth="九月";
break;
case 9:
sMonth="十月";
break;
case 10:
sMonth="十一月";
break;
case 11:
sMonth="十二月";
break;
}
for(int i=0;i<nKey;i++){
desHtml.addString (st.getStringAt (i));
sKey = st.getKeyAt (i);
if( sKey.compareTo("cgi-path")==0 )
desHtml.addString (CommonMethods.sHostNameCGI);
if (sKey.compareTo ("日历内容")==0)
desHtml.addString (myCalendar.makeCalendar(nYear,nMonth+1,nDay) );
if( sKey.compareTo("月份")==0 )
desHtml.addString (sMonth);
if(sKey.compareTo ("节日提醒")==0)
{
if (sResultDay=="" || sResultDay==null)
desHtml.addString ("");
else
sResultDay = "今天是"+ sResultDay;
desHtml.addString (sResultDay);
}
if(sKey.compareTo("日程提醒")==0)
desHtml.addString(myCalendar.getDateAwoke(userName));
// if(sKey.compareTo ("日期提醒")==0)
// desHtml.addString(myCalendar.getImportAwoke (userName));
}
desHtml.addString(st.getEndString());
return ;
}
public boolean editChannel(Person p,HtmlOut desHtml)
{
//TemplateList tempList=CommonMethods.getWeatherEditTemplate ();
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -