从oracle 数据库读取日期时间,并在网页上打印万年历

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"> </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 类,写这个不是很难,呵呵,下一步要做的是要向日历里添加活动信息.

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

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

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

时间: 2024-12-03 11:20:15

从oracle 数据库读取日期时间,并在网页上打印万年历的相关文章

oracle数据库常用日期函数讲解

调用日期函数时,首先要明确两个概念,时间戳和日期是不同的,日期中包括年月日但不包括小时分钟秒,时间戳包括年月日小时分钟秒.在oracle中,一般情况下,函数中包含date字符的和日期有关,包含timestamp的函数和时间戳有关(时间戳可以理解为时间).oracle中,日期一般以天为基本单位,时间相减时结果单位为天,时间与数字相加时,默认加对应数字的天数. 一.调用时无参无括号时间函数 1.返回系统当前日期sysdate --该函数返回值没有时间戳 select sysdate from dua

ORACLE 常用函数——日期/时间函数

---------------------------------------------日期/时间函数----------------------------------------------- --1: SYSDATE 用来得到系统的当前日期 SELECT SYSDATE FROM DUAL; --2: ADD_MONTHS 增加或减去月份 SELECT TO_CHAR(ADD_MONTHS(TO_DATE('20080818','YYYYMMDD'),2), 'YYYY-MM-DD')

关于数据库中日期时间型字段的操作问题

问题描述 我数据库用的是sQL2005,字段类型没有时期型,只有日期时间型,在操作时,这就产生了一个问题,我是以这个日期字段为主关键字的,可我在添加时,要先判断主键的唯一性,form表单用添加日期用的是控制dateTimePicker,这样如何与数据库中的字段比较,请指教.库中字段格式为2014-9-300:00:00 解决方案 解决方案二:至少可以dataTimePicker.Value.ToString("yyyy-MM-ddHH:mm:ss").Equals(sqlDataRea

Oracle 数据库中的 时间 时区

本节,我会引入很多概念,慢慢的一个一个的消化....... UTC是协调世界时(Universal Time Coordinated)英文缩写:协调世界时(英:Coordinated Universal Time,法:Temps Universel Coordonné),又称世界统一时间,世界标准时间,国际协调时间.英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC.是由国际无线电咨询委员会规定和推荐,并由国际时间局(BIH)负责保持的以秒为基础的时间标度.UTC相当于本初子午线(即

用JSP从数据库中读取图片并显示在网页上

js|数据|数据库|网页|显示   环境mysql+tomcat: <1>先在mysql下建立如下的table. 并insert图像. mysql.sql文件如下: CREATE TABLE photo (photo_no int(6) unsigned NOT NULL auto_increment,image blob,PRIMARY KEY (`photo_no`)) <2>把show.jsp放在tomcat的任意目录下. show.jsp作用:从数据库中读出blob,并产生

asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)_MsSql

在ASP.NET中,使用C#连接SQL数据库,并使用SQL语句查询,以前从来没有接触过C#,最近用到了,摸索了两天终于运行起来了,Mark一下,不喜勿喷 有两种方法:(说的是第一种方法不安全,我也不清楚^_^) 第一种方法: 复制代码 代码如下: //建立ASP.NET Web 应用程序,直接在Page_load函数中加入一下代码,貌似就可以用了 public void Page_Load(object sender, EventArgs e) { using (SqlConnection co

asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)

在ASP.NET中,使用C#连接SQL数据库,并使用SQL语句查询,以前从来没有接触过C#,最近用到了,摸索了两天终于运行起来了,Mark一下,不喜勿喷 有两种方法:(说的是第一种方法不安全,我也不清楚^_^) 第一种方法: 复制代码 代码如下: //建立ASP.NET Web 应用程序,直接在Page_load函数中加入一下代码,貌似就可以用了 public void Page_Load(object sender, EventArgs e) { using (SqlConnection co

asp.net查出oracle数据库中的中文乱码问题

把这两天两次安装IBM2650服务器中出现的问题做一个总结: 1.第一次安装,用IBM的引导盘引导,按步就班的下来,选择语言,做Raid5,选择windows系统等等 .安装好windows2003企业版之后,再去安装oracle时,安装到一半时,提示不能创建快捷方式.取消, 再安装还是不能创建快捷方式,就那样安装上了.安装之后oracle运行倒也正常,导入数据,发现中文 变成了乱码.再安装editplus和winrar发现显示窗口的中文也是乱码,右键菜单上的部分中文是乱码. 在网上搜了一下,原

《Oracle数据库性能优化方法论和最佳实践》——2.6 流程、资源和组件优化方法论

2.6 流程.资源和组件优化方法论 流程.资源和组件优化方法论是本书几位作者综合多年性能优化方法论实践提出的最新的Oracle业务系统性能优化方法论.流程.资源和组件优化方法论以流程响应分析为核心,辅助以流程处理的组件和涉及的资源分析,发现导致性能问题的根本原因,并采取适当的手段进行性能改善.本书从流程.资源和组件优化方法论出发,全面构建性能优化的可测量体系,并通过大量的性能优化实践案例来验证方法论的有效性.2.6.1 吞吐量和响应时间关系曲线 吞吐量和响应时间关系曲线是流程.资源和组件优化方法