JAVA日期时间的计算

JAVA日期时间的计算
JAVA日期时间的计算

JAVA日期时间的计算

最近,手头有不少项目,其中就有一个类似公文流转的项目,其中有一个模块是任务的制定,而在任务的类型中有一个循环任务,就是用户输入任务的开始日期、结束日期,还需要输入一个周期数,比如每周的星期几、每月的多少号等,这里面就牵扯到JAVA日期时间的计算,从网上收集了一下,整理下来,供大家参考^_^

Java 语言的Calendar,GregorianCalendar (日历),Date(日期), 和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分. 日期是商业逻辑计算一个关键的部分. 所有的开发者都应该能够计算未来的日期, 定制日期的显示格式, 并将文本数据解析成日期对象。学习日期, 日期格式, 日期的解析和日期的计算。

我们将讨论下面的类:

1、具体类(和抽象类相对)java.util.Date

2、抽象类java.text.DateFormat 和它的一个具体子类,java.text.SimpleDateFormat

3、抽象类java.util.Calendar 和它的一个具体子类,java.util.GregorianCalendar 具体类可以被实例化, 但是抽象类却不能. 你首先必须实现抽象类的一个具体子类.

1. java.util.Date及其格式化

Date 类从Java 开发包(JDK) 1.0 就开始进化, 当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月, 日, 和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了, 我们将在本文中进一步讨论它. 这种改进旨在更好的处理日期数据的国际化格式. 就象在JDK 1.1中一样, Date 类实际上只是一个包裹类, 它包含的是一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1 月1日00:00:00这一刻之前或者是之后经历的毫秒数.

1.1. 创建java.util.DateJava

统计从1970年1月1日起的毫秒的数量表示日期。也就是说,例如,1970年1月2日,是在1月1日后的86,400,000毫秒。同样的,1969年12月31日是在1970年1月1日前86,400,000毫秒。Java的Date类使用long类型纪录这些毫秒值.因为long是有符号整数,所以日期可以在1970年1月1日之前,也可以在这之后。Long类型表示的最大正值和最大负值可以轻松的表示290,000,000年的时间,这适合大多数人的时间要求。让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子. 这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间.

import java.util.Date;

public class DateExample1

{

public static void main(String] args)

{

// Get the system date/time Date date = new Date(); // 打印出具体的年,月,日,小时,分钟,秒钟以及时区

System.out.println(date.getTime());

}

}

在星期六, 2001年9月29日, 下午大约是6:50的样子, 上面的例子在系统输出设备上显示的结果是1001803809710. 在这个例子中,值得注意的是我们使用了Date 构造函数创建一个日期对象, 这个构造函数没有接受任何参数. 而这个构造函数在内部使用了System.currentTimeMillis() 方法来从系统获取日期.

//1年前日期

java.util.Date myDate=new java.util.Date();

long myTime=(myDate.getTime()/1000)-60*60*24*365;

myDate.setTime(myTime*1000);

String mDate=formatter.format(myDate);//明天日期

myDate=new java.util.Date();

myTime=(myDate.getTime()/1000)+60*60*24;

myDate.setTime(myTime*1000);

mDate=formatter.format(myDate);

//两个时间之间的天数

SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");

java.util.Date date= myFormatter.parse("2003-05-1");

java.util.Date mydate= myFormatter.parse("1899-12-30");

long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);

//加半小时SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); java.util.Date date1 = format.parse("2002-02-28 23:16:00");

long Time=(date1.getTime()/1000)+60*30;

date1.setTime(Time*1000);String mydate1=formatter.format(date1);

//年月周求日期

SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM F E");

java.util.Date date2= formatter2.parse("2003-05 5 星期五");

SimpleDateFormat formatter3 = new SimpleDateFormat("yyyy-MM-dd");

String mydate2=formatter3.format(date2);

//求是星期几

mydate= myFormatter.parse("2001-1-1");

SimpleDateFormat formatter4 = new SimpleDateFormat("E");

String mydate3=formatter4.format(mydate);

1.2. Date格式化

能以一种用户明白的格式来显示这个日期呢? 在这里类java.text.SimpleDateFormat 和它的抽象基类java.text.DateFormat。那么, 现在我们已经知道了如何获取从1970年1月1日开始经历的毫秒数了. 我们如何才format 就派得上用场了.

// 我们能不能用下面的代码构件出2001/8/8 8:8

import java.io.*;

import java.util.*;

public class WhatIsDate

{

public static void main(String[] args)

{

Date date = new Date(2001, 8, 8, 8, 8, 8);

System.out.println(date);

}

}

Java 的编译器竟然报如下信息(Sun JDK1.3, Windows 2000 中文下)

注意:

WhatIsDate.java 使用或覆盖一个不鼓励使用的API。

注意:

使用-deprecation重新编译,以得到详细信息。!那么Date 对象究竟是为了满足哪个需求呢?看来它不是用来实现基于年/月/日小时:分钟的时间表述。我们查看Java 的文档,

我们看到有getTime() 方法,它返回的竟然是一个long 值。文档进一步又告诉我们这个值代表了当前系统的时间离1970/1/1 0:0 的毫秒差,而且是在GMT 时区下(也被称为EPOC)。如果我们指定的时间是在此之前的,那它将返回一个负数值。这个发现让我们对Date 对象有了一个全新的认识-Date 存放的是与EPOC 的偏差值。换而言之我们也可通过long 类型来表示时间?

对了,这个猜想是得到了Java 的支持:

// 第二种获得当前时间的方法

long dateInMilliSeconds = System.currentTimeMillis();// 这时候打印出的只是一串数字而已

System.out.println(dateInMilliSeconds);

对程序执行效率敏感的程序员可以发现这个方法只是生成一个Java 的原始类型(primitive type) long, 不需要实例化一个对象。因此如果我们对时间的处理只是在内部进行时,可以用long 来代替Date 对象。最典型的应用就是在一段代码开始和结束时,分别获得系统当前的时间,然后计算出代码执行所需的时间(微秒级)。

long start = System.currentTimeMillis();

// 代码段

System.out.println("需要"+(System.currentTimeMillis()-start)+" 微秒");

那么当我们要把这个long 值已更为友好的表现形式显示处理的时候,我们可以用它来构造Date 对象:Date date = new Date(dateInMilliSeconds);System.out.println(date);我们看到了在Java 中对时间最为基本的表示,有通过对EPOC 的偏差值进行处理。Date 对象是对它的一个对象的封装。我们同时也看到了,在现时世界中我们对时间的描述通常是通过"某年某月某日某时某分"来定义的。Date 的显示(实际上是toString() 方法)描述了这些信息,但Java 并不建议我们用这种方式直接来构件Date 对象。因此我们需要找出哪个对象可以实现这个需求。这就是我们下面就要讲述的Calendar 对象的功能。在我们进一步研究Calendar 之前,请记住Date 只是一个对long 值(基于GMT 时区)的对象封装。它所表现出来的年/月/日小时:分钟时区的时间表述,只是它的toString() 方法所提供的。千万不要为这个假象所迷惑。假如我们希望定制日期数据的格式, 比方星期六-9月-29日-2001年. 下面的例子展示了如何完成这个工作:

import java.text.SimpleDateFormat;

import java.util.Date;

public class DateExample2

{

public static void main(String[] args)

{

SimpleDateFormat bartDateFormat = new SimpleDateFormat("EEEE-MMMM-dd-yyyy");

Date date = new Date();

System.out.println(bartDateFormat.format(date));

}

}

只要通过向SimpleDateFormat 的构造函数传递格式字符串"EEE-MMMM-dd-yyyy", 我们就能够指明自己想要的格式. 你应该可以看见, 格式字符串中的ASCII 字符告诉格式化函数下面显示日期数据的哪一个部分. EEEE是星期, MMMM是月, dd是日, yyyy是年. 字符的个数决定了日期是如何格式化的.传递"EE-MM-dd-yy"会显示Sat-09-29-01. 请察看Sun 公司的Web 站点获取日期格式化选项的完整的指示. 1.3. 文本数据解析成日期对象假设我们有一个文本字符串包含了一个格式化了的日期对象, 而我们希望解析这个字符串并从文本日期

数据创建一个日期对象. 我们将再次以格式化字符串"MM-dd-yyyy" 调用SimpleDateFormat 类, 但是这一次, 我们使用格式化解析而不是生成一个文本日期数据. 我们的例子, 显示在下面, 将解析文本字符串"9-29-2001"并创建一个值为001736000000 的日期对象. 通过parse()方法,DateFormat能够以一个字符串创立一个Date对象。这个方法能抛出ParseException异常,所以你必须使用适当的异常处理技术。例子程序:

import java.text.SimpleDateFormat; import java.util.Date; public class DateExample3

{

public static void main(String[] args)

{

// Create a date formatter that can parse dates of

// the form MM-dd-yyyy. SimpleDateFormat bartDateFormat = new

SimpleDateFormat("MM-dd-yyyy");

// Create a string containing a text date to be parsed. String dateStringToParse = "9-29-2001";

try

{

// Parse the text version of the date.

// We have to perform the parse method in a

// try-catch construct in case dateStringToParse

// does not contain a date in the format we are expecting. Date date =

bartDateFormat.parse(dateStringToParse);

// Now send the parsed date as a long value

// to the system output. System.out.println(date.getTime()); }catch (Exception ex)

{

System.out.println(ex.getMessage());

}

}

1.4. 使用标准的日期格式化过程

既然我们已经可以生成和解析定制的日期格式了, 让我们来看一看如何使用内建的格式化过程. 方法DateFormat.getDateTimeInstance() 让我们得以用几种不同的方法获得标准的日期格式化过程. 在下面的例子中, 我们获取了四个内建的日期格式化过程. 它们包括一个短的, 中等的, 长的, 和完整的日期格式.

import java.text.DateFormat;

import java.util.Date;

public class DateExample4

{

public static void main(String[] args)

{ Date date = new Date();

DateFormat shortDateFormat = DateFormat.getDateTimeInstance( DateFormat.SHORT, DateFormat.SHORT);

DateFormat mediumDateFormat = DateFormat.getDateTimeInstance( DateFormat.MEDIUM, DateFormat.MEDIUM);

DateFormat longDateFormat = DateFormat.getDateTimeInstance( DateFormat.LONG, DateFormat.LONG);

DateFormat fullDateFormat = DateFormat.getDateTimeInstance( DateFormat.FULL, DateFormat.FULL);

System.out.println(shortDateFormat.format(date));

System.out.println(mediumDateFormat.format(date));

System.out.println(longDateFormat.format(date));

System.out.println(fullDateFormat.format(date));

}

}

注意我们在对getDateTimeInstance的每次调用中都传递了两个值. 第一个参数是日期风格, 而第二个参数是时间风格. 它们都是基本数据类型int(整型). 考虑到可读性, 我们使用了DateFormat 类提供的常量: SHORT, MEDIUM, LONG, 和FULL. 要知道获取时间和日期格式化过程的更多的方法和选项, 请看Sun 公司Web 站点上的解释. 运行我们的例子程序的时候, 它将向标准输出设备输出下面的内容: 9/29/01 8:44 PM Sep 29, 2001 8:44:45 PM September 29, 2001 8:44:45 PM EDT Saturday, September 29, 2001 8:44:45 PM EDT 2. Calendar 日历类首先请记住Calendar 只是一个抽象类, 也就是说你无法直接获得它的一个实例,换而言之你可以提供一个自己开发的Calendar 对象。那究竟什么是一个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");

}

}

Calendar 在Java 中是一个抽象类(Abstract Class),GregorianCalendar 是它的一个具体实现。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() 方法

set(int field, int value) - 是用来设置"年/月/日/小时/分钟/秒/微秒"等值field 的定义在Calendar 中set(int year, int month, int day, int hour, int minute, int second) 但没有set(int year, int month, int day, int hour, int minute, int second, int millisecond) 前面set(int,int,int,int,int,int) 方法不会自动将MilliSecond 清为0。另外,月份的起始值为0而不是1,所以要设置八月时,我们用7而不是8。calendar.set(Calendar.MONTH, 7);我们通常需要在程序逻辑中将它清为0,否则可能会出现下面的情况:

import java.io.*;

import java.util.*;

public class WhatIsCalendarWrite

{

public static void main(String[] args) throws Exception{

ObjectOutputStream out = new ObjectOutputStream( new

FileOutputStream("calendar.out"));

Calendar cal1 = Calendar.getInstance();

时间计算题汇总

地理时间计算部分专题练习 1、9月10日在全球所占的范围共跨经度90°,则北京时间为:( ) A. 10日2时 B. 11日2时 C. 10日12时 D. 11日12时 2、读“中心为北极的示意图”,阴影区为3月21日,非阴影区为3月22日,ON 的经线为:( ) A. 0° B. 180° C. 60°E D. 120°W 3、北京时间为2008年3月1日的2点,此时与北京处于同一日期的地区范围约占全球的:( ) A. 一半 B. 三分之一 C. 四分之一 D. 五分之一 4、图中两条虚线,一条是晨昏线,另一条两侧大部分地区日期不同,此时地球公转速度较慢。若图中的时间为7日和8日,甲地为( ) A.7日4时 B.8日8时 C.7月8时 D.8月4时 2004年3月22日到4月3日期间,可以看到多年一遇的“五星连珠”天象奇观。其中水星是最难一见的行星,观察者每天只有在日落之后的1 小时内才能看到它。图中阴影部分表示黑夜,中心点为极地。回答5—7题 5.图4中①②③④四地,可能看到“五星连珠”现象的是( ) A .① B .② C .③ D .④ 6.在新疆的吐鲁番(约890E )观看五星连珠现象,应该选择的时间段(北 京时间)是( ) A .18时10分至19时 B .16时10分至17时 C .20时10分至21时 D.21时10分至22时 7.五星连珠中,除了水星外,另外四颗星是( ) A .金星、木星、土星、天狼星 B .金星、火星、木星、海王星 C .火星、木星、土星、天王星 D .金星、火星、土星、木星 (2002年上海)下表所列的是12月22日甲、乙、丙、丁四地的白昼时间,根据表中数据回答下8-10题。 8、四地中属于南半球的是( ) A.甲地 B.乙地 C.丙地 D.丁地 9、四地所处纬度从高到低顺序排列的是( ) A.甲乙丙丁 B.甲乙丁丙 C.丙丁乙甲 D.丁丙乙甲 10、造成四起白昼时间差异的主要因素是( ) ①地球的公转 ②地球自转 ③黄赤交角的存在 ④地方时的不同

08 时间计算与日期变更-2021年高考地理一轮复习考点大通关

2021年高考地理一轮复习考点大通关 08 时间计算与日期变更

1.时差产生原因:由于地球自西向东自转,同一纬度的地区,相对来说,东边的地点比西边的地点先看到日出。这样,东边的地点比西边的地点时间要早 。地球自转角速度为________,每自转一度需要___分钟即: l 经度每隔____度,时间相差1小时l 经度每隔1度,时间相隔____分钟l 东边的时间比西边时间______ l 同一条经线上的各地,地方时______ 15?/h 4154早相同

1.当太阳直射海口市(20°N,110°E),此时青岛市(36°N,120°E )的地方时是( ) A.11:20 B.11:40 C.12:20 D.12:40 1.太阳直射哪条经线,那条经线上时间为正午12点整 2.时间计算只跟精度有关,与纬度无关。 3.计算地方时步骤过程: ①获取已知地点的地方时(确定条件) ②计算出所求地点和已知地点的经度差 ③计算所求地点的地方时

3.时区与区时 全球划分为24 个时区,每个时区跨经度15° ,同一时区,时间相等 区时:每个时区中央经线的地方时即为该时区的标准时。相邻两个时区的区时相差1个小时。

如:120?E、90?W 欲求某经度所在的时区 经度 ÷ 15余数>7.5,商+1 即为所在时区 余数<7.5,商 即为所在时区 东经就是东时区,西经就是西时区。 欲求时区的中央经线如:西6区 的中央经线时区 × 15°2.当太阳直射海口市(20°N,110°E),此时北京时间是( )

恩克斯堡岛(下图)是考察南极冰盖雪被、陆缘冰及海冰的理想之地。2017年2月7日,五星红旗在恩克斯堡岛上徐徐升起,我国第五个南极科学考察站选

EXCLE日期时间计算公式

(Excel)常用函数公式及操作技巧之三: 时间和日期应用 ——通过知识共享树立个人品牌。 自动显示当前日期公式 =YEAR(NOW()) 当前年 =MONTH(NOW()) 当前月 =DAY((NOW())) 当前日 如何在单元格中自动填入当前日期 Ctrl+; 如何判断某日是否星期天 =WEEKDAY(A2,2) =TEXT(A1,"aaaa") =MOD(A1,7)<2 某个日期是星期几 比如2007年2月9日,在一单元格内显示星期几。 =TEXT(A1,"aaa") (五) =TEXT(A1,"aaaa") (星期五) =TEXT(A1,"ddd") (Fri) =TEXT(A1,"dddd") (Friday) 什么函数可以显示当前星期 如:星期二10:41:56 =TEXT(NOW(),"aaaa hh:mm:ss") 求本月天数 设A1为2006-8-4 求本月天数 A1=DAY(DATE(YEAR(A1),MONTH(A1)+1,0)) 也有更簡便的公式:=DAY(EOMONTH(NOW(),0)) 需加載分析工具箱。

当前月天 数:=DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-DATE(YEAR(TO DAY()),MONTH(TODAY()),1) 用公式算出除去当月星期六、星期日以外的天数 =SUMPRODUCT(--(MOD(ROW(INDIRECT(DATE(YEAR(NOW() ),MONTH(NOW()),1)&":"&DATE(YEAR(NOW()),MONTH(NOW ())+1,0))),7)>1)) 显示昨天的日期 每天需要单元格内显示昨天的日期,但双休日除外。 例如,今天是7月3号的话,就显示7月2号,如果是7月9号,就显示7 月6号。 =IF(TEXT(TODAY(),"AAA")="一 ",TODAY()-3,IF(TEXT(TODAY(),"AAA")="日 ",TODAY()-2,TODAY()-1)) =IF(TEXT(TODAY(),"AAA")="一",TODAY()-3,TODAY()-1) 关于取日期 怎么设个公式使A1在年月日向后推5年,变成2011-7-15 =DATE(YEAR(A1)+5,MONTH(A1),DAY(A1)) =EDATE(A1,12*5) 如何对日期进行上、中、下旬区分 =LOOKUP(DAY(A1),{0,11,21,31},{"上旬","中旬","下旬","下旬"}) 如何获取一个月的最大天数 "=DAY(DATE(2002,3,1)-1)"或"=DAY(B1-1)",B1为"2001-03-01日期格式转换公式 将“01/12/2005”转换成“20050112”格式 =RIGHT(A1,4)&MID(A1,4,2)&LEFT(A1,2) = YEAR($A2)&TEXT(MONTH($A2),"00")&TEXT(DAY($A2),"00" ) 该公式不用设置数据有效性,但要设置储存格格式。 也可以用下列两方法: 1、先转换成文本, 然后再用字符处理函数。 2、[数据]-[分列] [日期]-[MDY] 将“2005年9月”转换成“200509”格式

java中的日期处理类总结

java中的日期处理类总结:Date/Calendar/GregorianCalendar/DateFormat/SimpleDateFormat 类 今天花了好大一点时间把java的日期类做了一下整理,哈 1、Date类(该类现在很少用了) l Date类对象的创建: n 创建一个当前时间 //默认是创建一个代表系统当前日期的Date对象 Date d = new Date(); n 创建一个我们指定的时间的Date对象: 下面是使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。 //创建一个代表2009年6月12号的Date对象 Date d1 = new Date(2009-1900, 6-1, 12); (注意参数的设置啊!) l 正确获得一个date对象所包含的信息 如: Date d2 = new Date(2009-1900, 6-1, 12); //获得年份(注意年份要加上1900,这样才是日期对象d2所代表的年份) int year = d2.getYear() + 1900; //获得月份(注意月份要加1,这样才是日期对象d2所代表的月份) int month = d2.getMonth() + 1; //获得日期 int date = d2.getDate();

//获得小时 int hour = d2.getHours(); //获得分钟 int minute = d2.getMinutes(); //获得秒 int second = d2.getSeconds(); //获得星期(注意:0代表星期日、1代表星期1、2代表星期2,其他的一次类推了) int day = d2.getDay(); 运行结果: 年份:2009 月份:6 日期:12 小时:0 //不设置默认是0 分钟:0 //不设置默认是0 秒:0 //不设置默认是0 星期:5 //09-6-12今天就是星期5,又是一个星期天哦 2、Calendar类 Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些 l Calendar类对象的创建

时间的计算和日期的变更

高考常考重难点命题规律探究 时间的计算与日期的变更 高考分析 本章内容重点考查五个方面:一太空探索;二是各类光照图的综合判读;三是昼夜长短的计算;四是正午太阳高度及季节的判断;五是时间的计算与日期的变更 近两年来高考中着重考察了昼夜长短的计算问题。地方时、区时、日界线等知识是中学地理学科的主要组成部分,并且随着人类交往密切,各科联系的加强,该知识点在生产、生活中得以广泛应用,因而成为近几年来高考重点考核的内容。该类题图象设计新颖,设问灵活,具体命题可能结合某一重大地理事件进行,往往以日照图为切入点,进行时间和空间上大跨度的综合考查,突出对学生综合能力的要求的考查,高三复习时应予以高度重视。锦囊妙计 时间计算是高考地埋计算专题复习中的“重头戏”,复习应从基本概念、规律和原理入手,通过知识的融通和内化,培养学生的基本技能,而通过基本技能的训练,可以让学生学会知识的归纳和整合,从而达到掌握"双基"的目的。解决此类问题,要能够把地理学科的基本原理和规律加以准确地运用,在基础知识掌握的前提下,灵活运用一些方法和技巧,以便准确地解决相关问题。做到“懂、熟、巧、准”,此类问题便能迎刃而解。 基础知识归纳 1.常用概念 经线、经度、地方时、时区、中央经线、区时和国际日期变更线等。同时要比较一些概念之间的区别,如时区和区时、地方时和区时、闰年和平年、闰月和平月、大月和小月。 24个时区的划分和确定,其划分如图2所示,

日界线的含义 2.要熟悉一些基本技能,主要是能熟练运用公式法和数轴图解法(图4)推算具体时间: 利用公式法可以解决如图4所示①②③④四种情况,当已知区时求地方时或已知地方时求区时时,要把区时对应的中央经线找出来,问题就会变得简单。而数轴图解法比公式法更直观,只要知道已知地和所求地的经度(或时区)与时间四要素中的任何三要素,就可以求出未知时间或经度(或时区)。 3.“寻找“已知点”,找到已知点后,可利用公式法或数轴图解法求解,“已知点”主要集中在四点——6、2、18和24(0)点钟上,找到了四点中的一点,便可求解,即“四点法”。

java试用期工作总结

java试用期工作总结 时光流转间,我已到公司工作三个多月。非常感谢公司领导对我的信任,给予我体现自我、提高自我的机会。这三个多月的试用期工作经历,使我的工作能力得到了由校园步入社会后最大幅度的提高。亲爱的读者,小编为您准备了一些java试用期工作总结,请笑纳! java试用期工作总结1 短短的一个月很快就过去了,在这短短的一个月里,我学到了很多,了解了很多。在这一个月里我学到了有关JAVA等方面的知识,了解了关于软件开发的流程。了解了自己的不足,知道了自己努力的方向。 回顾这次的实训,这次或许是最后的实训机会。我是一名大二的学生,明年或许就要出去实习了,所以我很珍惜这次的实训机会,因为它能够让我了解自己的不足以及以后自己努力的方向,同时也能让我了解软件开发的流程,增加一点软件开发经验和社会经验。让我在以后的实习中会更好的融入到其中,增加自己的就业机会,因为纵观现在的就业形势很不让人乐观,由于之前的经济危机,就业机会越来越少,就业也越来越难,这就给了

我们很大的压力,所以要是没有真本事,就业岗位就无从谈起,因此,在以后的学习中,我会更加好好努力。 java试用期工作总结2 来公司已近半年时间,在这半年时间里,我从一个刚毕业什么都不懂的迷茫青年蜕变成了一个合格的程序员,在此,对我这半年的工作做出一个总结: 1、思想政治表现、品德素质修养及职业道德。 严格按照一个职业人应有的素养要约束自已,爱岗敬业,具有强烈的责任感和事业心,积极主动认真的学习专业知识,工作态度端正,认真负责。 2、专业知识、工作能力和具体工作。 在这半年里,我本着把工作做的更好这样一个目标,开拓创新意识,积极圆满的完成了以下本职工作: 中天chat项目测试、source the globe项目测试、勤务模块的界面原型修改、网络教学平台项目的界面原型编写,项目开发,项目测试、领导安排的其它工作。 3、工作态度和勤奋敬业方面 热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,没

(时间管理)高考难点时间的计算与日期的变更

(时间管理)高考难点时间的计算与日期的变更

难点6 时间的计算和日期的变更 地方时、区时、日界线等知识是中学地理学科的主要组成部分,近几年无论广东、上海仍是全国文综小综合卷中的地理卷均考到了该知识点。随着人类交往密切,各科联系的加强, 该知识点于生产、生活中得以广泛应用,因而成为近几年来高考重点考核的内容。该类题图象设计新颖,设问灵活,具体命题可能结合某壹重大地理事件进行,往往以日照图为切入点, 进行时间和空间上大跨度的综合考查,突ft对学生综合能力的要求的考查,高三温习时应予以高度重视。 ●难点磁场 如图 6—1 中心点为北极,若阴影部分为黑夜,判断 1~2 题。(2000 年苏、浙、吉文科综合) 1.★★★★★甲地时间为() A.8 时 B.9 时 C.15 时 D.16 时 2.★★★★★下列说法可能的是() A.华北平原正值小麦播种季节 B.华北平原正值小麦收获季节图 6—1 C.长江中下游进入梅雨时期 D.罗马气候干热 若图 6—1 阴影部分为 7 月6 日,非阴影部分为 7 月7 日,判断 3~4 题。 3.★★★★★甲地的时间为() A.15 时 B.9 时 C.3 时 D.12 时 4.★★★★★北京为() A.6 日 8 时 B.7 日 8 时 C.6 日 20 时 D.7 日 20 时 2002 年1 月1 日,作为欧洲联盟的统壹货币欧元正式流通,这将对世界金融市场产生重要影响,回答 5~6 题。(2002 年文综高考题) 5.★★★★假定世界各地金融市场均于当地时间上午 9 时开市,下午 5 时闭市,如果某投资者上午 9 时于法兰克福(东经8.5°)市场买进欧元,12 小时后欧元上涨,投资者想尽快卖ft欧元,选择的金融市场应位于() A.东京(东经139.5°) B.香港(东经104°) C.伦敦 D.纽约(西经74°) 6.★★★★★★于上述假定的营业时间内(上午 9 时开市,下午 5 时闭市),下列各金融中心能保证 24 小时作业的是() A.法兰克福、新加坡(东经104°)、伦敦 B.伦敦、香港、旧金山(西经122.5°) C.伦敦、东京、纽约 D.东京、洛杉矶、纽约 7.★★★★于开辟“极地航路”前,中国东方航空公司的飞 机于北京时间 7 月8 日下午3 时从上海直飞洛杉矶(西八区),到 达时当地时间是 7 月8 日上午 10 时,该飞机的飞行时间是 A.19 小时 B.11 小时 C.8 小时 D.15 小时 (2001 年上海高考题) ●案例探究 [案例 1]如图 6—3 中,中心点表示北极,阴影为 3 月21 日,非阴影区为 3 月22 日。读图回答。 (1)OP 的经度为,ON 的经度为。 (2)这时北京时间为3 月日时。

java处理日期时间 相加减

JAVA处理日期时间常用方法: 1.java.util.Calendar Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970年 1月1日的00:00:00.000,格里高利历)的偏移量。 [java]view plaincopy 1.Calendar cal=Calendar.getInstance();//使用默认时区和语言环境获得一个日历。 2.cal.add(Calendar.DAY_OF_MONTH,-1);//取当前日期的前一天. 3. 4.cal.add(Calendar.DAY_OF_MONTH,+1);//取当前日期的后一天. 5. 6.//通过格式化输出日期 7.java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-MM- dd"); 8. 9.System.out.println("Today is:"+format.format(Calendar.getInstance().getTime() )); 10. 11.System.out.println("yesterday is:"+format.format(cal.getTime())); 得到2007-12-25日期: [java]view plaincopy 1.Calendar calendar=new GregorianCalendar(2007,11,25,0,0,0); 2.Date date=calendar.getTime(); 3.System.out.println("2007Christmas is:"+format.format(date)); java月份是从0-11,月份设置时要减1. GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

高一地理时间的计算与日期的变更

“时间的计算与日期的变更”难点透析 地方时、区时、日界线等知识是中学地理学科的主要组成部分,也是全国各大地理考卷必考的知识点。随着人类交往的密切,各科联系的加强,该知识点在生产、生活中得以广泛应用,因而成为近几年来高考重点考核的内容。该类题考察学生的读图、析图能力,知识应用及迁移能力,图形设计新颖、设问灵活、综合程度高,具体命题可能结合某一重大地理事件进行,往往以日照图为切入点,进行时间和空间上大跨度的综合考查,突出对学生综合能力的要求的考查,在平时及高三复习时应予以高度重视。 【难点透析】 1.认识实质:时间的计算与日期的变更其实质可从四方面理解。地球自转方向→自西向东→东早西晚(定性);地球自转周期→1个太阳日→15°/小时(定量);日地空间关系→确定时刻→矫正时刻(定标);东西时差计算→东加西减→大早小晚(定法)。时间计算本质上是地方时的计算。 2.理解概念:地方时是指因经度而不同的时刻(同线同时);区时是指各时区都以本区中央经线的地方时作为全区共同使用的时刻(同区同时);日界线有两条,①人文日界线:为了避免日期的紊乱,1884年在华盛顿国际经度会议上,规定原则上以180°经线作为地球上“今天”和“昨天”的分界线,叫做“国际日期变更线”,简称“日界线”。②自然日界线:地球上地方时为0时(子夜)所在的隐形经线。 3.掌握方法: (1)地方时。地球上的地方时以太阳作为参照物确定,某地的太阳高度角达到一天中的最大值时,当地的地方时为12点,与12点相对的地方时为0点。同一条经线上的地方时相同,不同经线的地方时不同,越往东时刻越早,即东早西晚(大早小晚),每隔15度,相差1个小时。地方时的计算分三步进行。 ①空间定位清楚,用图式两点的经度定点,清楚准确直观反映空间关系; ②地理分析到位(已知、未知、东西关系、经度差和时间差的相互转换,四者知其三,可以任求其一); ③数学计算准确(认真计算,仔细检查)。同时应注意以下隐含条件:晨线与赤道交点所在经线上的地方时为6时,昏线与赤道交点所在经线上的地方时为18时。即赤道在任何时刻晨线上都是6时,昏线上都是18时;太阳直射点所在经线上的地方时为12时,和正午正相对的另一经线地方时为0时。即正相对的两条经线地方时相差12时;经度相差15°,时刻相差1小时;经度相差1°,时刻相差4分钟(东加西减,东早西晚);经度相同,地方时相同;经度不同,地方时不同;日照图中,平分昼半球的经线为中午12时,平分夜半球经线所在地方时为0时;区时与地方时一致的地方在各时区的中央经线上(中央经线度数=15°×时区数);过日界线时日期要发生变化。即日界线两侧时刻相同,日期不同。 (2)区时。时区的划分:每隔15度划分为一个时区,每个时区的中央经线都是15的倍数,据此可以求出任一条经线所在的时区。特别注意零时区(中时区)和12时区的划分。各时区都以本区中央经线的地方时作为全区共同使用的时刻,称为区时,同区同时(国际标准时间,一般是指零时区的区时;美国东部时间一般是西五区的区时;西部时间一般是指西八区的区时;北京时间是指东八区的区时,即东经120度的地方时)。区时的计算:①确定经线所在的时区,并判断两时区的东西位置关系,东早西晚;②分析已知与未知条件,计算时区序号差及区时;③根据时区序号之差等于区时之差,算出结果,认真计算,并仔细检查。

四年级奥数日期和时间地计算含问题详解

日期和时间的计算 一、学习目标 1.学会在日期的计算中发现和识别呈周期性变化的规律,并能列式解答. 2.学会时间计算的一般方法,能说明解答的基本依据. 3.感受简单的分析、推理等方法. 二、内容提要与方法点拨 1.被除数=商×除数+余数,余数要小于除数. 2.找准有一定变化规律的周期,如1年有12个月,1周有7天,1小时是60分,1分是60秒等. 三、例题选讲 例12008年元旦是星期二,那么,2012年元旦是星期几? 解:从2008年元旦到2012年元旦这四年中,2008年是闰年,其余三年是平年.四年的天数加上2012年元旦这一天,共有 366+365×3+1=1462(天) (或365×4+1+1) 一共是1462÷7=208(周)……6(天) 从星期二开始算,第六天是星期日.所以,2012年元旦是星期日. 这道题还可以这样算: 365÷7=52……1,平年有52周余1天,闰年就有52周余2天. 直接算出每一年的天数除以7的余数的和 2+1×3+1=6,从星期二开始算,第六天是星期日. 有一类数学问题是围绕每月天数、日期数和星期几的天数等关系展开的.解答这类问题的焦点往往在它的余数上. 我们知道,在一年的12个月中,每个月最少有28天,最多有31天,一个星期有7天.而 一个月的天数÷7 = 4……(余数),余数可以是0、1、2、3. 下面,我们根据这个除法算式进一步弄清有关的几个数量之间的关系. (1)由上式知,一个月的星期几的个数最少有4个,最多有5个. (2)当余数为0时,即这个月只有28天(平年的2月),那么,这个月所

有的星期几分别有4个.同时,这个月的第一天是星期几,最后一天就是星期几 的前一天.例如,2月1日是星期二,2月28日就是星期一. (3)当余数为1、2、3时,即这个月多于28天.多出了几天,就有几个星 期几是5个的,而且是连续的.例如,7月有31天,当7月1日是星期二时,7 月28日是星期一,7月29日、30日、31日就分别是星期二、三、四,则这个 月的星期二、三、四各有5个. 多出的几天及对应是星期几也可以放到月头考虑,在此不一一分述. 想一想:某年的六月一日是星期五,这个月有5个星期()和星期(). 例2某年的3月份正好有4个星期三和4个星期六,那么这个月的1日是星期几? 有4个星期还多3天。这3天是连续的而 且不能是星期三和星期六,因此,也不可 能是在星期三和星期六之间的星期四和星 期五。这样,只能是星期一、星期二和星 期日。 即这3天按顺序是星期日、一、二(29日、30日、31日)。所以,三月一 日是星期日(如图)。 例3有一个月,星期四的天数比星期三多,星期日的天数比星期六少,这个月的20日是星期几? 解:要求某月某日是星期几,一般可以由这个月的第一日或最后一日是星期 几推出. 由条件“星期四的天数比星期三多,星期日的天数比星期六少”可知这个月 的星期三、星期日只有4个,而星期四、星期六都有5个.从而推知在星期四和 星期六之间的星期五也应有5个.这个月有31天,31÷7=4…3,而且1日是星期 四,31日是星期六. 再由1日是星期四知,8日、15日、22日也是星期四,得知20日就是星期 二.或由31日是星期六,31-20-7=4,推算出20日是星期二(如图).

java获取当前时间

有两种方法: 方法一:用java.util.Date类来实现,并结合java.text.DateFormat类来实现时间的格式化,看下面代码: import java.util.*; import java.text.*; //以下默认时间日期显示方式都是汉语语言方式 //一般语言就默认汉语就可以了,时间日期的格式默认为MEDIUM风格,比如:2008-6-16 20:54:53 //以下显示的日期时间都是再Date类的基础上的来的,还可以利用Calendar类来实现见类TestDate2.java public class TestDate { public static void main(String[] args) { Date now = new Date(); Calendar cal = Calendar.getInstance(); DateFormat d1 = DateFormat.getDateInstance(); //默认语言(汉语)下的默认风格(MEDIUM风格,比如:2008-6-16 20:54:53) String str1 = d1.format(now); DateFormat d2 = DateFormat.getDateTimeInstance(); String str2 = d2.format(now); DateFormat d3 = DateFormat.getTimeInstance(); String str3 = d3.format(now); DateFormat d4 = DateFormat.getInstance(); //使用SHORT风格显示日期和时间 String str4 = d4.format(now); DateFormat d5 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL); //显示日期,周,时间(精确到秒) String str5 = d5.format(now); DateFormat d6 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); //显示日期。时间(精确到秒) String str6 = d6.format(now); DateFormat d7 = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT); //显示日期,时间(精确到分) String str7 = d7.format(now);

高考难点时间的计算与日期的变更

高考难点时间的计算与 日期的变更 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

难点6时间的计算与日期的变更地方时、区时、日界线等知识是中学地理学科的主要组成部分,近几年无论广东、上海还是全国文综小综合卷中的地理卷都考到了该知识点。随着人类交往密切,各科联系的加强,该知识点在生产、生活中得以广泛应用,因而成为近几年来高考重点考核的内容。该类题图象设计新颖,设问灵活,具体命题可能结合某一重大地理事件进行,往往以日照图为切入点,进行时间和空间上大跨度的综合考查,突出对学生综合能力的要求的考查,高三复习时应予以高度重视。 ●难点磁场 如图6—1中心点为北极,若阴影部分为黑夜,判断1~2题。(2000年苏、浙、吉文科综合) 1.★★★★★甲地时间为() 时时时时 2.★★★★★下列说法可能的是() A.华北平原正值小麦播种季节 B.华北平原正值小麦收获季节图6—1 C.长江中下游进入梅雨时期 D.罗马气候干热 若图6—1阴影部分为7月6日,非阴影部分为7月7日,判断3~4题。 3.★★★★★甲地的时间为() 时时时时 4.★★★★★北京为() 日8时日8时日20时日20时

2002年1月1日,作为欧洲联盟的统一货币欧元正式流通,这将对世界金融市场 产生重要影响,回答5~6题。(2002年文综高考题) 5.★★★★假定世界各地金融市场均在当地时间上午9时开市,下午5时闭市, 如果某投资者上午9时在法兰克福(东经°)市场买进欧元,12小时后欧元上涨,投资 者想尽快卖出欧元,选择的金融市场应位于() A.东京(东经°) B.香港(东经104°) C.伦敦 D.纽约(西经74°) 6.★★★★★★在上述假定的营业时间内(上午9 时开市,下午5时闭市),下列各金融中心能保证24 小时作业的是() A.法兰克福、新加坡(东经104°)、伦敦 B.伦敦、香港、旧金山(西经°) C.伦敦、东京、纽约 D.东京、洛杉矶、纽约 7.★★★★在开辟“极地航路”前,中国东方航空公司的飞机在北京时间7月8日下 午3时从上海直飞洛杉矶(西八区),到达时当地时间是7月8日上午10时,该飞机 的飞行时间是 图6—2 小时小时小时小时 (2001年上海高考题) ●案例探究

JAVA程序员试用期转正工作总结

程序员试用期转正工作小结 尊敬的领导: 我于xxxx年9月11日成为本公司技术部的一名.net程序员,三个月的试用期转眼就过去了。这段我人生中弥足珍贵的经历,给我留下了精彩而美好的回忆。在这段时间里您们给予了我足够的关怀、支持和帮助,让我充分感受到了领导们“海纳百川”的胸襟,在对您们肃然起敬的同时,也为我有机会成为影响力在线的一员而惊喜万分。 这段时间,在领导和同事们的关怀和指导下,我通过不懈努力,各方面均取得一定的进步,现将我的工作情况做如下汇报: 一、通过理论学习和日常工作积累经验我的各方面有了很大的进步。刚到公司不久,我便开始负责.net方面的网站开发和广告平台开发和维护,刚开始的时候对我来说确实压力很大,因为各方面都还不熟悉,而且与之前的公司相比,节奏也有点快,不过我慢慢的习惯了环境,和同事相处的比较融洽,领导对我也比较关心,在公司里工作就像是在一个幸福的大家庭里一样,我很快喜欢上了这里。 我到公司不久,第一个项目是xxx公司网站,做这个项目的时候我遇到了几个问题,我在以前公司做的时候没有在这么短的时候完成一个项目的,在效率上提高了我的能力。做这个项目的时候我也遇到了许多以前没有遇到过的问题,我请教同事和朋友,还有借助网络一一解决了难题。 之后,我将b2b广告招商平台进行了改版,开发了xxx智能建站广告平台以及以后网站的维护工作。 接下来,我又做了一个比较棘手的项目——xxx在线咨询系统。为什么说棘手呢,因为我以前没有做过这方面的项目,而且我问遍了所有认识的朋友,搜遍了网络也没有找到如何解决的方法,之后我翻书籍,接着搜索网络。功夫不负有心人,终于我找到一个聊天室的小例子,但是功能差的太远,于是我把 这个示例一点点的研究,从一点也不懂到后来慢慢看懂,从对ajax技术一无所知到基本熟练运用。接下来我就开始自己开发,到最后终于把它开发了出来,虽然不是很完美,功能不是很强大,但是它是我辛苦的劳动结晶,我相信以后会把它开发的更强大,更完美。 二、明确岗位职能,认识个人技术能力不足。 经过三个多月的工作,虽然完成了一些项目的开发,我的技能也提高了很多,但是感觉我的技术还有待提高,所以我会在以后的工作中更加努力,努力提高自己的技术和各种不足,努力使自己成为一名称职的职员。 三、提出自己努力计划 1、学无止镜,时代的发展瞬息万变,各种学科知识日新月异。我将坚持不懈地努力学习各种技术知识,并用于指导实践。 2、“业精于勤而荒于嬉”,在以后的工作中不断学习知识,通过多看、多学、多练来不断的提高自己的各项技能。 3、不断锻炼自己的胆识和毅力,提高自己解决实际问题的能力,并在工作过程中慢慢克服急躁情绪,积极、热情、细致地的对待每一项工作。 4、努力提高自己的日常交际能力。 时光流转间,我已到公司工作三个多月。非常感谢公司领导对我的信任,给予我体现自我、提高自我的机会。这三个多月的试用期工作经历,使我的工作能力得到了由校园步入社会后最大幅度的提高。 在此,在对试用期的工作情况及心得体会做一汇报后,我想借此机会,正式向公司领导提出转正请求。希望公司领导能对我的工作态度、工作能力和表现,以正式员工的要求做一个全面考虑,能否转正,期盼回复。我会以炙热的工作热情继续投入到今后的工作当中,以

JAVA计算日期,时间差的几种方法

1. 手工计算 2.采用一个三方的jar包(Joda time library) 3. 利用TimeUnit类(java.util.concurrent 包中) 方法一:手工计算 程序代码 import java.text.SimpleDateFormat; import java.util.Date; public class DateDifferentExample { public static void main(String[] args) { String dateStart = "01/14/2012 09:29:58"; String dateStop = "01/15/2012 10:31:48"; //HH converts hour in 24 hours format (0-23), day calculation SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); Date d1 = null; Date d2 = null; try { d1 = format.parse(dateStart); d2 = format.parse(dateStop); //in milliseconds long diff = d2.getTime() - d1.getTime(); long diffSeconds = diff / 1000 % 60; long diffMinutes = diff / (60 * 1000) % 60; long diffHours = diff / (60 * 60 * 1000) % 24; long diffDays = diff / (24 * 60 * 60 * 1000); System.out.print(diffDays + " days, "); System.out.print(diffHours + " hours, "); System.out.print(diffMinutes + " minutes, "); System.out.print(diffSeconds + " seconds."); } catch (Exception e) { e.printStackTrace(); } }

时间计算与日期变更

时间计算与日期变更 一、地方时 1 产生的原因:由于地球的自转,地表各地相对于太阳的方向不断发生变化,因而各地的时刻便依次推进。于是,在同一瞬间,地球上的各种时刻不同。 2 、定义:地方时就是因经度不同而不同的时间,它把一天中太阳升到最高时的时间为定为中午12时,将连续两个12小时之间等分为24小时,这样形成的时间系统,称为地方时。遵循“东早西晚”的原则,其差异是1小时/150、4分钟/10、4秒钟/1‘。 注意:“如日中天”中的“日中天”就是一天中太阳最高的时刻,是一天中地方时为12点的时刻,这时太阳辐射在一天中最强。但此时气温并不一定最高,因为地表受热需要一个过程。 3、与地理位置的关系:经度相同的地方,地方时相同 地理位置越靠东边的地方,地方时的值越大(同一天,24小时制) 若两地分别为东经或西经地区,则经度差=两地经度数之和 二、时区和区时 1、时区:国际上规定把全球分为24个时区,即每隔15划分24个时区 注意:东12区位于东经范围以内,西12区位于西经范围以内,其中东12区与西12区都只跨个经度,东、西12区合为一个时区。但东、西12区都位于西半球。 2、区时:每个时区的区时,以该时区中央经线的地方时为整个时区的统一时间,又称为标准时。注意:①、中央经线是指该时区的“标准经线”,其度数的大小为该时区数〓150 ②、在任意两个时区之间,相差几个时区,就相差几个小时。较东的时区,区时较早。 ③、东西12时区时刻相同,而日期相差1天。 3、根据经度推算时区的方法 ①经度〔150/h=整数和余数。若余数小于度,同该经度的时区数就是整数; ②若该余数大于度,则该经度的时区数就是整数+1;③某地为东经度,为东时区;某地为西经度,为西时区;若整数为12,则为东西12区 4、时区差的计算方法:同区相减,异区相加 5、世界各个国家区时的确定: (1)北京时间:北京所在的东8区的区时,即1200E的地方时,是中国各地统一采用的时间 (2)国际标准时:本初子午线的地方时,即中时区的区时。 (3)世界各国根据本国具体情况,在区时的基础上,采用一些特别的计时方法:有的国家根据本国所跨的经度范围,采用半区时,即采用与中央经线相差的时区的边界线的地方时,如印度采用东区;的有国家为了充分利用太阳照明,采取本国东部时区的中央经线的地方时,如朝鲜采用东9区的区时。 三、时间的计算方法 方法:第一步:求两地的经度差或时区差――同经(区)相减,异经(区)相加 第二步:求两地的时间差=经度差〔150/h=时区差的大小第三步:求所求地的时间――东加西减04、经度差的计算方法:若两地同为东经或同为西经地区,则经度差=大的经度数-小的经度数 1/6页 东和西是指所求地在已知地的东或西方。判断方法有:①在光照图中可根据地球自转的方向进行判断;②有经度的时候,则用东经度数越大,越往东去;西经度数越小,越往东去; ③在进行时区计算时,则东时区数越大,越往东去;西时区数越小,越往东区。 (1)已知某一地的地方时,求另一地的地方时:所求地方时=已知地方时〒经度差〓4(分钟/度)或所求地方时=已知地方时〒时区差

JAVA编写日历实训心得

班级:**** 姓名:*** 学号:****10010127 java实验报告 实验7 日历 一、实验目的 1. 掌握swt 的容器概念及使用方法。 2. 掌握swt 中的工具栏与菜单的使用方法。 3. 掌握swt 中的表格组件的使用。 4. 掌握swt 各种对话框的使用方法。 二、实验内容:简单日历系统的设计与实现。 三、实验步骤:1. 简单日历系统的设计与实现 1) 创建java 类。在“包资源管理器”中用鼠标右击项目“practical”,选择快捷菜单中“新建”→“visual class”;在打开的“new java visual class ”窗口中,“源文件夹”的默认值是项目的文件夹,不需要更改,“包”栏中输入程序包的名称“ch7”。“名称”栏中输入类名“su”,在“style ”列表框中选择“swt”→“shell”,选中“public static void main(string[] args) ”复选框,使之自动创建一个main 方法,单击“完成”按钮,一个含有gui 程序界面以及代码的编辑器窗口被打开。2) 添加组件。用鼠标右键单击gui 程序界面的任何位置,在快捷菜单中选择“set layout”→“filllayout”。在“palette”面板中用鼠标单击“swt containers ”中的“viewform”,在程序界面sshell 中添加viewform 容器viewform 。从pallete 工具栏中依次单击组件:toolbar 和table ,在viewform 容器添加一个工具栏toolbar 和一个表格table ,并在工具栏toolbar 中添加4 个工具栏按钮toolitem~toolitem3;在表格中添加7 个表列tablecolumn~tablecolumn6 。更改4 个工具栏按钮的text 属性分别为“上一年”、“上个月”、“下个月”和“下一年”;更改7 个表列的text 属性分别为“日”~“六”,如图下所示。 (3)注意声明类的成员变量:calendar now=calendar.getinstance(); int year; int month; 4) 为类“su”编写自定义的“重置”方法。在编辑器中编写代码如下:public class su { private shell sshell = null; // @jve:decl-index=0:visual-constraint=138,42 private viewform viewform = null; private toolbar toolbar = null; private table table = null; private calendar now=calendar.getinstance(); int year; int month; private void createviewform() {viewform = new viewform(sshell, swt.none); createtoolbar(); viewform.settopleft(toolbar); table = new table(viewform, swt.none); table.setheadervisible(true); table.setfont(new font(display.getdefault(), tahoma, 10, swt.normal)); table.setlinesvisible(true); tablecolumn tablecolumn = new tablecolumn(table, swt.center); tablecolumn.setwidth(60); tablecolumn.settext(日); tablecolumn tablecolumn1 = new tablecolumn(table, swt.center); tablecolumn1.setwidth(60); tablecolumn1.settext(一); tablecolumn tablecolumn2 = new tablecolumn(table, swt.center); tablecolumn2.setwidth(60); tablecolumn2.settext(二); tablecolumn tablecolumn3 = new tablecolumn(table, swt.center); tablecolumn3.setwidth(60); tablecolumn3.settext(三); tablecolumn tablecolumn4 = new tablecolumn(table, swt.center); tablecolumn4.setwidth(60); tablecolumn4.settext(四); tablecolumn tablecolumn5 = new tablecolumn(table, swt.center); tablecolumn5.setwidth(60); tablecolumn5.settext(五); tablecolumn tablecolumn6 = new tablecolumn(table, swt.center); tablecolumn6.setwidth(60); tablecolumn6.settext(六); viewform.setcontent(table);} private void remove(calendar now){ int y; int year = now.get(calendar.year); int month=now.get(calendar.month)+1;case

相关文档
最新文档