中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 综合文章
从oracle 数据库读取日期时间,并在网页上打印万年历
作者:未知 时间:2005-07-27 22:31 出处:CSDN 责编:chinaitpower
              摘要:从oracle 数据库读取日期时间,并在网页上打印万年历

在core Java 那本书里,在讲类之前就将了一个打印一个月份中每天是星期几的万年历程序.最近写程序的时候终于要用到了.我花费了半天时间终于弄明白了GregorianCalendar类,并且通过网络抓取oracle数据的时间,然后显示在JSP 网页上.

运行效果如下:

 

 

首先要在J2se里面写出万年历程序,作为练习:

1)星期日Calendar.SUNDAY =1  星期日为1,那么星期几就+1为以此类推!

 

打印月历的程序:

 

 

 

 

package moonsoft.j2se.testYueli;

 

 

 

 

import java.util.*;

 

 

 

 

 

 

 

 

public class TestYueli

 

 

 

 

{

 

 

 

 

  public static void main(String [] args)

 

 

 

 

  {  //建立一个GregorianCalendar 对象

 

 

 

 

    GregorianCalendar d=new GregorianCalendar();

 

 

 

 

    //获得系统默认的日期的月份和日期所在的月第几天

 

 

 

 

    int month=d.get(Calendar.MONTH);

 

 

 

 

    int day=d.get(Calendar.DAY_OF_MONTH);

 

 

 

 

    //d设置为当月第一天

 

 

 

 

    d.set(Calendar.DAY_OF_MONTH, 1);

 

 

 

 

    //获得第一天的是一星期的第几天

 

 

 

 

int weekday=d.get(Calendar.DAY_OF_WEEK);

 

 

 

 

 

 

 

 

    System.out.println("SUN MON TUE WED THU FRI SAT");

 

 

 

 

    for(int i=Calendar.SUNDAY; i<weekday; i++)

 

 

 

 

    System.out.print("   ");

 

 

 

 

    //System.out.print(monthday);

 

 

 

 

    do

 

 

 

 

    {

 

 

 

 

      int days=d.get(Calendar.DAY_OF_MONTH);

 

 

 

 

      if(days<10)

 

 

 

 

      System.out.print(" ");

 

 

 

 

      System.out.print(days);

 

 

 

 

      if(days==day)

 

 

 

 

      System.out.print("*");

 

 

 

 

      else

 

 

 

 

      System.out.print(" ");

 

 

 

 

      if(weekday==Calendar.SATURDAY)

 

 

 

 

      System.out.println();

 

 

 

 

      d.add(Calendar.DAY_OF_MONTH, 1);

 

 

 

 

      weekday=d.get(Calendar.DAY_OF_WEEK);

 

 

 

 

   

 

 

 

 

    }while(d.get(Calendar.MONTH)==month);

 

 

 

 

     } }

 

 

 

 

2)注意GregorianCalendar calendar=new(year, month-1,year);

 

 

 

 

month-1! Calendar 0代表一月!!!

 

 

 

 

 

然后再写oracle抓取到JSP 页面的程序:

<%@ page contentType="text/html;charset=Big5"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=Big5">
    <title>社團活動</title>
    <style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
    </style>
  </head>
  <%
  request.setCharacterEncoding("big5");
  String name=(String)session.getAttribute("name");
  String queryDate=" select to_char(systimestamp, 'YYYY-MM-DD HH24:MM:SS') from dual ";
  int  day=1;
  int month=3;
  int year=2005;
  Connection conn=null;
 
  try{
  Context ctx=new InitialContext();
  DataSource ds=(DataSource)ctx.lookup("jdbc/asdbCoreDS");
  conn=ds.getConnection();
  PreparedStatement ps=conn.prepareStatement(queryDate);
  ResultSet rs=ps.executeQuery();
  while(rs.next()){
  String date=rs.getString(1);
  year=Integer.parseInt(date.substring(0,4));
  month=Integer.parseInt(date.substring(5,7));
  day=Integer.parseInt(date.substring(8,10));
  out.println(year+"年"+month+"月");
  }
  }
  catch(Exception e1){e1.printStackTrace();}
  finally{conn.close();}
 
  %>
 
  <body>
  <table width="100%"  border="1" cellspacing="1" cellpadding="1">
    <tr bgcolor="#0099FF">
      <th scope="col"><span class="style1">SUN</span></th>
      <th scope="col"><span class="style1">MON</span></th>
      <th scope="col"><span class="style1">TUE</span></th>
      <th scope="col"><span class="style1">WED</span></th>
      <th scope="col"><span class="style1">THU</span></th>
      <th scope="col"><span class="style1">FRI</span></th>
      <th scope="col"><span class="style1">SAT</span></th>
    </tr> <tr>
    <%
    GregorianCalendar d=new GregorianCalendar(year, month-1 , day);
   
    int monthDay=d.get(Calendar.DAY_OF_MONTH);
    int monthNumber=d.get(Calendar.MONTH);
   
    d.set(Calendar.DAY_OF_MONTH, 1);
    int weekDay=d.get(Calendar.DAY_OF_WEEK);
    for(int i=Calendar.SUNDAY; i<weekDay; i++)
    {%><td height="45">&nbsp;</td><%}
    do{
    int monthDays=d.get(Calendar.DAY_OF_MONTH);
    %><td height="45"><%=monthDays%></td><%
    if(weekDay==Calendar.SATURDAY)
     out.println("</tr><tr>");
     d.add(Calendar.DAY_OF_MONTH, 1);
     weekDay=d.get(Calendar.DAY_OF_WEEK);
    }while(d.get(Calendar.MONTH)==monthNumber);
    %>
 
  </table>
  </body>
</html>

其实如果掌握了GregorianCalendar 类,写这个不是很难,呵呵,下一步要做的是要向日历里添加活动信息.

每遇到一个没有写过的技术问题,都觉得很困难,想放弃,可是我不能!我能做的只是坚持,还有培养自己的兴趣,

当你写过这个程序,就觉得,如此而已啊,哈哈......

自己每天都进步一些,这种感觉,真好!


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有