JAVA Calendar详解
JAVA Calendar详解
(在文章的最后,将会介绍Date类,如果有兴趣,可以直接翻到最后去阅读)
究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历、阴(农)历之分。它们的区别在哪呢?
比如有:
月份的定义 - 阳`(公)历 一年12 个月,每个月的天数各不同;阴(农)历,每个月固定28天
每周的第一天 - 阳(公)历星期日是第一天;阴(农)历,星期一是第一天
实际上,在历史上有着许多种纪元的方法。它们的差异实在太大了,比如说一个人的生日是"八月八日" 那么一种可能是阳(公)历的八月八日,但也可以是阴(农)历的日期。所以为了计时的统一,必需指定一个日历的选择。那现在最为普及和通用的日历就是 "Gregorian Calendar"。也就是我们在讲述年份时常用 "公元几几年"。Calendar 抽象类定义了足够的方法,让我们能够表述日历的规则。Java 本身提供了对 "Gregorian Calendar" 规则的实现。我们从 Calendar.getInstance() 中所获得的实例就是一个 "GreogrianCalendar" 对象(与您通过 new GregorianCalendar() 获得的结果一致)。
下面的代码可以证明这一点:
import java.io.*;
import java.util.*;
public class WhatIsCalendar
{
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
if (calendar instanceof GregorianCalendar)
System.out.println("It is an instance of GregorianCalendar"t;
}
}
Calendar 在 Java 中是一个抽象类(Abstract Class),GregorianCalendar 是它的一个具体实现。
我们也可以自己的 Calendar 实现类,然后将它作为 Calendar 对象返回(面向对象的特性)。在 IBM alphaWorks 上,IBM 的开发人员实现了多种日历(http://www.alphaworks.ibm.com/tech/calendars)。同样在 Internet 上,也有对中国农历的实现。本文对如何扩展 Calendar 不作讨论,大家可以通过察看上述 Calendar 的源码来学习。
Calendar 与 Date 的转换非常简单:
Calendar calendar = Calendar.getInstance();
// 从一个 Calendar 对象中获取 Date 对象
Date date = calendar.getTime();
// 将 Date 对象反应到一个 Calendar 对象中,
// Calendar/GregorianCalendar 没有构造函数可以接受 Date 对象
// 所以我们必需先获得一个实例,然后设置 Date 对象
calendar.setTime(date);
Calendar 对象在使用时,有一些值得注意的事项:
1. Calendar 的 set() 方法
相关文档:
来到广州7天了,还没有一个面试电话,一起来仨.net今天都面试去,一个人在房间里极度郁闷,自认为还算是个人品、技术都不错的一优秀女青年,难道真如传说中的,有性别歧视?未必吧,昨天就见到一个,那个漂亮。。。岂一个楚楚动人了得啊。。。
哎。。悲哀呀!
待续。。。。。。 ......
过滤器Filter也具有生命周期:init()->doFilter()->destroy(),由部署文件中的filter元素驱动。在servlet2.4中,过滤器同样可以用于请求分派器,但须在web.xml中声明,<dispatcher>INCLUDE或FORWARD或REQUEST或ERROR</dispatcher>该元素位于filter-mapping中。
一、批量设置请求编码
Java代码
publ ......
廖洪亮 2010/4/13
概述
在实际的项目中,可能会遇到这样的问题:A服务器上的应用程序需要访问B服务器上的access数据库(可以使用虚拟机模拟A、B服务器进行测试)。而access数据库是文件类型的,不同计算机间需要指定文件访问权限,增加了程序的复杂度。本文将从一个实例来介绍一种简单实用的方法。该实例使用的方法来自Inte ......
1.创建测试表
create table users(
userid int primary key,
username varchar2(20),
userpwd varchar2(20)
);
insert into users values(1,'test','test');
insert into users values(2,'test','test');
insert into users values(3,'test','test');
insert into users values(4,'test','test');
insert i ......
一多线程的概念
简单说线程就是程序执行的不同路径。而进程是一个静态的概念通常说的启动一个进程是启动一个进程里面的主线程。
多线程则是一个进程里面的不同的程序的执行路径。而事实上在某一个时刻cpu执行了某一个程序 由于速度很快所以
我们感觉不出来
二线程的创建
1 实现接口创建
public void c ......