文档库 最新最全的文档下载
当前位置:文档库 › JAVA处理日期时间常用方法

JAVA处理日期时间常用方法

JAVA处理日期时间常用方法
JAVA处理日期时间常用方法

JA V A处理日期时间常用方法:java.util.Calendar Calendar 类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970 年1 月1 日的00:00:00.000,格里高利历)的偏移量。

例:Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。

cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天. cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天.

//通过格式化输出日期

java.text.SimpleDateFormat format = new

java.text.SimpleDateFormat("yyyy-MM-dd");

System.out.println("Today

is:"+format.format(Calendar.getInstance().getTime()));

System.out.println("yesterday is:"+format.format(cal.getTime()));

得到2007-12-25日期: Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0);

Date date = calendar.getTime();System.out.println("2007 Christmas is:"+format.format(date)); //java月份是从0-11,月份设置时要减1.

//GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

取日期的部分: int year =calendar.get(Calendar.YEAR);

int month=calendar.get(Calendar.MONTH)+1;

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

int hour =calendar.get(Calendar.HOUR_OF_DAY);

int minute =calendar.get(Calendar.MINUTE);

int seconds =calendar.get(Calendar.SECOND);

取月份要加1.判断当前月份的最大天数:

Calendar cal = Calendar.getInstance();

int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println(day); java.util.Date

类Date 表示特定的瞬间,精确到毫秒。从JDK 1.1 开始,应该使用Calendar 类实现日期和时间字段之间转换,使用DateFormat 类来格式化和分析日期字符串。Date 中的相应方法已废弃。尽管Date 类打算反映协调世界时(UTC),但无法做到如此准确,这取决于Java 虚拟机的主机环境。当前几乎所有操作系统都假定 1 天= 24 × 60 × 60 = 86400 秒。但对于UTC,大约每一两年出现一次额外的一秒,称为“闰秒”。闰秒始终作为当天的最后一秒增加,并且始终在12 月31 日或6 月30 日增加。例如,1995 年的最后一分钟是

61 秒,因为增加了闰秒。大多数计算机时钟不是特别的准确,因此不能反映闰秒的差别。

在类Date 所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式:年份y由整数y - 1900 表示。

?月份由从0 至11 的整数表示;0 是一月、1 是二月等等;因此11 是十二月。

?日期(一月中的某天)按通常方式由整数1 至31 表示。

?小时由从0 至23 的整数表示。因此,从午夜到1 a.m. 的时间是0 点,从中午到1 p.m. 的时间是12 点。

?分钟按通常方式由0 至59 的整数表示。

?秒由0 至61 的整数表示;值60 和61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循ISO C 的日期和时间约定。

在所有情形中,针对这些目的赋予方法的参数不需要在指定的范围内;例如,可以把日期指定为1 月32 日,并把它解释为2 月1 日的相同含义。

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

System.out.println("Today is "+formats.format(today));

取当月的第一天:

java.text.SimpleDateFormat format = new

java.text.SimpleDateFormat("yyyy-MM-01");

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

System.out.println("the month first day is "+formats.format(firstDay)); 取当月的最后一天:

Calendar cal = Calendar.getInstance();

int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH); java.text.Format formatter3=new

java.text.SimpleDateFormat("yyyy-MM-"+maxDay);

System.out.println(formatter3.format(cal.getTime()));

求两个日期之间相隔的天数:

java.text.SimpleDateFormat format = new

java.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date beginDate= format.parse("2007-12-24");

java.util.Date endDate= format.parse("2007-12-25");

long day=(date.getTime()-mydate.getTime())/(24*60*60*1000); System.out.println("相隔的天数="+day);

一年前的日期:

java.text.Format formatter=new

java.text.SimpleDateFormat("yyyy-MM-dd");

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

long beforeTime=(todayDate.getTime()/1000)-60*60*24*365; todayDate.setTime(beforeTime*1000);

String beforeDate=formatter.format(todayDate);

System.out.println(beforeDate);

一年后的日期:

java.text.Format formatter=new

java.text.SimpleDateFormat("yyyy-MM-dd");

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

long afterTime=(todayDate.getTime()/1000)+60*60*24*365; todayDate.setTime(afterTime*1000);

String afterDate=formatter.format(todayDate);

System.out.println(afterDate);

求10小时后的时间

java.util.Calendar Cal=java.util.Calendar.getInstance(); Cal.setTime(dateOper);

Cal.add(java.util.Calendar.HOUR_OF_DAY,10);

System.out.println("date:"+forma.format(Cal.getTime()));

求10小时前的时间

java.util.Calendar Cal=java.util.Calendar.getInstance();

Cal.setTime(dateOper);

Cal.add(java.util.Calendar.HOUR_OF_DAY,-10);

System.out.println("date:"+forma.format(Cal.getTime()));

3.java.sql.Date

继承自java.util.Date,是操作数据库用的日期类型

一个包装了毫秒值的瘦包装器(thin wrapper),它允许JDBC 将毫秒值标识为SQL DATE 值。毫秒值表示自1970 年1 月1 日

00:00:00 GMT 以来经过的毫秒数。为了与SQL DATE 的定义一致,由java.sql.Date 实例包装的毫秒值必须通过将时间、分钟、秒和毫秒设置为与该实例相关的特定时区中的零来“规范化”。

java.sql.Date sqlDate = new

java.sql.Date(java.sql.Date.valueOf("2007-12-25").getTime());

日期比较:简单的比较可以以字符串的形式直接比较,也可使用

java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf(" 2007-03-18"))方式来比较日期的大小.也可使用

java.util.Date.after(java.util.Date)来比较.

4.java.util.GregorianCalendar

GregorianCalendar 是Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。

GregorianCalendar 是一种混合日历,在单一间断性的支持下同时支持儒略历和格里高利历系统,在默认情况下,它对应格里高利日历创立时的格里高利历日期(某些国家/地区是在1582 年10 月15 日创立,在其他国家/地区要晚一些)。可由调用方通过调用setGregorianChange()来更改起始日期。

历史上,在那些首先采用格里高利历的国家/地区中,1582 年10 月4 日(儒略历)之后就是1582 年10 月15 日(格里高利历)。此日历正确地模拟了这些变化。在开始格里高利历之前,GregorianCalendar 实现的是儒略历。格里高利历和儒略历之间的惟一区别就是闰年规则。儒略历指定每4 年就为闰年,而格里高利历则忽略不能被400 整除的世纪年。

GregorianCalendar 可实现预期的格里高利历和儒略历。也就是说,可以通过在时间上无限地向后或向前外推当前规则来计算日期。因此,对于所有的年份,都可以使用GregorianCalendar 来生成有意义并且一致的结果。但是,采用现代儒略历规则时,使用GregorianCalendar 得到的日期只在历史上从公元4 年3 月1 日之后是准确的。在此日期之前,闰年规则的应用没有规则性,在45 BC 之前,甚至不存在儒略历。

在格里高利历创立以前,新年是 3 月25 日。为了避免混淆,此日历始终使用1 月1 日为新年。如果想要格里高利历转换之前并且处于1 月1 日和3 月24 日之间的日期,则可以进行手动调整。

为WEEK_OF_YEAR 字段所计算的值的范围从1 到53。一年的第一个星期始于getFirstDayOfWeek() 的最早7 天,至少包含该年的getMinimalDaysInFirstWeek() 各天。这取决于getMinimalDaysInFirstWeek()、getFirstDayOfWeek() 的值以及1 月1 日是星期几。一年的第一个星期和下一年的第一个星期之间的各个星期按顺序从2 到52 或53(根据需要)进行编号。

例如,1998 年1 月1 日是星期四。如果getFirstDayOfWeek() 为MONDAY,并且getMinimalDaysInFirstWeek() 为4(这些值反映了ISO 8601 和很多国家/地区标准),则1998 年的第一个星期开始于1997 年12 月29 日,结束于1998 年1 月4 日。但是,如果getFirstDayOfWeek() 为SUNDAY,那么1998 年的第一个星期开始于1998 年1 月4 日,结束于1998 年1 月10 日;1998 年头三天是1997 年第53 个星期的一部分。

为WEEK_OF_MONTH 字段所计算的值的范围从0 到6。一个月的第一个星期(WEEK_OF_MONTH = 1 的日期)是该月至少连续getMinimalDaysInFirstWeek() 天中的最早日期,结束于getFirstDayOfWeek() 的前一天。与一年的第一个星期不同,一个月的第一个星期可能短于7 天,也不必从getFirstDayOfWeek() 这一

天开始,并且不包括前一个月的日期。在第一个星期之前该月日期的WEEK_OF_MONTH 为0。

5. java.text.DateFormat

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。日期/时间格式化子类(如SimpleDateFormat)允许进行格式化(也就是日期-> 文本)、分析(文本-> 日期)和标准化。将日期表示为Date 对象,或者表示为从GMT(格林尼治标准时间)1970 年,1 月1 日00:00:00 这一刻开始的毫秒数。

DateFormat 提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期/时间Formatter。格式化风格包括FULL、LONG、MEDIUM 和SHORT。方法描述中提供了使用这些风格的更多细节和示例。

DateFormat 可帮助进行格式化并分析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。

要格式化一个当前语言环境下的日期,可使用某个静态工厂方法:myString = DateFormat.getDateInstance().format(myDate);

如果格式化多个日期,那么获得该格式并多次使用它是更为高效的做法,这样系统就不必多次获取有关环境语言和国家/地区约定的信息了。

DateFormat df = DateFormat.getDateInstance();

for (int i = 0; i < myDate.length; ++i) {

output.println(df.format(myDate[i]) + "; ");

}

要格式化不同语言环境的日期,可在getDateInstance() 的调用中指定它。

DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);

还可使用DateFormat 进行分析。

myDate = df.parse(myString);

使用getDateInstance 来获得该国家/地区的标准日期格式。另外还提供了一些其他静态工厂方法。使用getTimeInstance 可获得该国家/

地区的时间格式。使用getDateTimeInstance 可获得日期和时间格式。可以将不同选项传入这些工厂方法,以控制结果的长度(从SHORT

到MEDIUM 到LONG 再到FULL)。确切的结果取决于语言环境,但是通常:

?SHORT 完全为数字,如12.13.52 或3:30pm

?MEDIUM 较长,如Jan 12, 1952

?LONG 更长,如January 12, 1952 或3:30:32pm

?FULL 是完全指定,如Tuesday, April 12, 1952 AD 或3:30:42pm PST。

如果愿意,还可以在格式上设置时区。如果想对格式化或分析施加更多的控制(或者给予用户更多的控制),可以尝试将从工厂方法所获得的DateFormat 强制转换为SimpleDateFormat。这适用于大多数国家/地区;只是要记住将其放入一个try 代码块中,以防遇到特殊的格式。

还可以使用借助ParsePosition 和FieldPosition 的分析和格式化方

法形式来

?逐步地分析字符串的各部分。

?对齐任意特定的字段,或者找出字符串在屏幕上的选择位置。

6. java.text.SimpleDateFormat

SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期-> 文本)、分析(文本-> 日期)和规范化。

SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过DateFormat 中的getTimeInstance、getDateInstance 或getDateTimeInstance 来新的创建日期-时间格式化程序。每一个这样的类方法都能够返回一个以默认格式模式初始化的日期/时间格式化程序。可以根据需要使用applyPattern 方法来修改格式模式。有关使用这些方法的更多信息,请参阅DateFormat。日期和时间模式

日期和时间格式由日期和时间模式字符串指定。在日期和时间模式字符串中,未加引号的字母'A' 到'Z' 和'a' 到'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号(') 引起来,以免进行解释。"''" 表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在分析时与输入字符串进行匹配。

定义了以下模式字母(所有其他字符'A' 到'Z' 和'a' 到'z' 都被保留):

模式字母通常是重复的,其数量确定其精确表示:

?Text:对于格式化来说,如果模式字母的数量大于或等于4,则使用完全形式;否则,在可用的情况下使用短形式或缩写形

式。对于分析来说,两种形式都是可接受的,与模式字母的数

量无关。

?Number:对于格式化来说,模式字母的数量是最小的数位,如果数位不够,则用0 填充以达到此数量。对于分析来说,模式

字母的数量被忽略,除非必须分开两个相邻字段。

?Year:对于格式化来说,如果模式字母的数量为2,则年份截取为2 位数,否则将年份解释为number。

对于分析来说,如果模式字母的数量大于2,则年份照字面意

义进行解释,而不管数位是多少。因此使用模式

"MM/dd/yyyy",将"01/11/12" 分析为公元12 年1 月11 日。

java 在JTextArea中如何显示时间

悬赏分:5 | 解决时间:2009-5-13 16:36 | 提问者:dasa5678

就是从开始的时间格式是hh:mm:ss

每过一秒另一一行显示

09:30:33

09:30:34

09:30:35

就这样一直显示呢??

问题补充:

最好帮助给写个打框我对线程理解得不好

恩谢谢3楼理解了你写的线程我是想在textarea中显示的这个好像不可以把

最佳答案

修改了下三楼的,就成这样了

import javax.swing.*;

import java.util.*;

import java.text.*;

public class Test {

public static void main(String[] args) {

MyThread mt = new MyThread();

mt.start();

}

}

class MyThread extends Thread {

public void run() {

JFrame jf = new JFrame("time-textarea");

JTextArea jta = new JTextArea(12,20);

JScrollPane jsp = new JScrollPane(jta);

jf.getContentPane().add(jsp);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jf.pack();

jf.setVisible(true);

while(true) {

Date d=new Date();//获取时间

SimpleDateFormat sdf=new SimpleDateFormat("kk:mm:ss");//转换格式//System.out.println(sdf.format(d));//打印

jta.append(sdf.format(d)+"\n");

try {

Thread.sleep(1000);

} catch(InterruptedException e) {

e.printStackTrace();

}

}

}

}

/一段小代码解释java时间的处理

/ 1. System.currentTimeMillis() 获取系统时间的代码Timestamp ts = new Timestamp(System.currentTimeMillis()); String dateStr1 = ts.toString();

System.out.println("System.currentTimeMillis() = "+dateStr1); // 2. date 为获得系统时间的另外一种方法

Date date = new Date();

String dateStr2 = new Timestamp(date.getTime()).toString(); System.out.println(dateStr2);

// 得到JAVA运行环境的一些基本属性

常用地基的处理方法

常用地基的处理方法 【摘要】 给大家推荐一个常用地基处理的资料。 【关键词】 序言、地基的处理的主要方法、常用的地基处理方法 序言 基础是建筑物和地基之间的连接体。基础把建筑物竖向体系传来的荷载传给地基。从平面上可见,竖向结构体系将荷载集中于点,或分布成线形,但作为最终支承机构的地基,提供的是一种分布的承载能力。 如果地基的承载能力足够,则基础的分布方式可与竖向结构的分布方式相同。但有时由于土或荷载的条件,需要采用满铺的伐形基础。伐形基础有扩大地基接触面的优点,但与独立基础相比,它的造价通常要高的多,因此只在必要时才使用。不论哪一种情况,基础的概念都是把集中荷载分散到地基上,使荷载不超过地基的长期承载力。因此,分散的程度与地基的承载能力成反比。有时,柱子可以直接支承在下面的方形基础上,墙则支承在沿墙长度方向布置的条形基础上。当建筑物只有几层高时,只需要把墙下的条形基础和柱下的方形基础结合使用,就常常足以把荷载传给地基。这些单独基础可用基础梁连接起来,以加强基础抵抗地震的能力。只是在地基非常软弱,或者建筑物比较高的情况下,才需要采用伐形基础。多数建筑物的竖向结构,墙、柱都可以用各自的基础分别支承在地基上。中等地基条件可以要求增设拱式或预应力梁式的基础连接构件,这样可以比独立基础更均匀地分布荷载。 如果地基承载力不足,就可以判定为软弱地基,就必须采取措施对软弱地基进行处理。软弱地基系指主要由淤泥、淤泥质土、冲填土、杂填土或其他高压缩性土层构成的地基。在建筑地基的局部范围内有高压缩性土层时,应按局部软弱土层考虑。勘察时,应查明软弱土层的均匀性、组成、分布范围和土质情况,根据拟采用的地基处理方法提供相应参数。冲填土尚应了解排水固结条件。杂填土应查明堆积历史,明确自重下稳定性、湿陷性等基本因素。 在初步计算时,最好先计算房屋结构的大致重量,并假设它均匀的分布在全部面积上,从而等到平均的荷载值,可以和地基本身的承载力相比较。如果地基的容许承载力大于4倍的平均荷载值,则用单独基础可能比伐形基础更经济;如果地基的容许承载力小于2倍的平均荷载值,那么建造满铺在全部面积上的伐形基础可能更经济。如果介于二者之间,则用桩基或沉井基础。 地基的处理的主要方法 利用软弱土层作为持力层时,可按下列规定执行: 1)淤泥和淤泥质土,宜利用其上覆较好土层作为持力层,当上覆土层较薄,应采取避免施工时对淤泥和淤泥质土扰动的措施; 2)冲填土、建筑垃圾和性能稳定的工业废料,当均匀性和密实度较好时,均可利用作为持力层;

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类对象的创建

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:接槎位置不正确,接槎处不密实。 预防措施: 接槎位置应按规范规定位置留设;分段分层施工应作成台阶形,上下两层接缝应错开0.5米以上,每层虚铺应从接槎处往前延伸0.5米,夯实时夯达0.3米以上,接槎时再切齐,再铺下段夯实。 常见质量问题2:不按规定进行压实系数及承载力检验。 预防措施: 1.换填垫层地基竣工验收应采用载荷试验检验其承载力,原则上每300平方米一个检验点,每个单位工程检验点数量不宜少于3点。 2.对于局部的换填垫层,由设计单位确定其检验方法。 3.对于现行国家标准《建筑地基基础设计规范》(GB50007-2002)划分安全等级为丙级的建筑物和一般不太重要的、小型、轻型或对沉降要求不高的工程,地基竣工验收时可按设计要求做压实系数检验;但当设计有要求或垫层厚度大于2m时,仍应按第1条要求做载荷试验来检验其承载力。 4.对于厚度小于1250mm,起“褥垫”作用的换填处理,地基竣工验收时按设计要求做压实系数检验即可。 5.换填垫层地基除应按要求做载荷试验检验外,尚应在施工过程中对每层的压实系数进行检验。采用环刀法检验垫层施工质量时,取样点应位于每层厚度的2/3处。检验数量,对大基坑每50-100平方米不应少于1个

检验点,对基槽每10-20m不应少于1 个检验点,每个独立柱基不应少于1个检验点。 二、夯实地基 常用方法:重锤夯实地基、强夯地基 常见质量问题1:夯实过程中无法达到试夯时确定的最少夯击遍数和总下沉量,夯击不密实。 预防措施: 在饱和淤泥、淤泥质土及含水量过大的土层上强夯,宜铺0.5~2.0米厚的砂石,才进行强夯;或适当降低夯击能量,再或采用人工降低地下水位后再强夯。 常见质量问题2:强夯后,实际加固深度局部或大部分未达到要求的影响深度,加固后的地基强度未达到设计要求。 预防措施: 1.强夯前,应探明地质情况,对存在砂卵石夹层的可适当提高夯击能量,遇障碍物应清除掉;锤重、落距、夯击遍数、锤击数、间距等强夯参数,在强夯前应通过试夯、测试确定;两遍强夯间,应间隔一定时间,对粘土或冲积土,一般为3周,地质条件良好无地下水的土层,间隔时间可适当缩短。 2.实际施工中当强夯影响深度不足时,可采取增加夯击遍数,或调节锤击功的大小,一般增大锤击功(如提高落距),可使土的密实度有显著增加。 常见质量问题3:不按规定进行承载力检验。 预防措施: 1. 强夯处理后的地基竣工验收时,其承载力检验应采用原位测试和室内土工试验。承载力原位测试应采用现场载荷试验的方法,载荷试验检验

java试用期工作总结

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

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

一建常用的地基处理方法自测题含答案

一建常用的地基处理方法自测题含答案 一、单项选择题 1.当建筑物基础下的持力层比较软弱,不能满足上部荷载对地基的要求时,常采用()来处理软弱地基。 A.换土垫层法 B.灰土垫层法 C.强夯法 D.重锤夯实法 2.地下水位较低,基槽经常处于较干燥状态下的一般粘性土地基的加固可采用()方法来处理地基。 A.换土垫层法 B.灰土垫层法 C.强夯法 D.重锤夯实法 3.对于高于地下水位0.8m以上稍湿的粘性土、砂土、湿陷性黄土、杂填土和分层填土地基,常采用()来处理软弱地基。 A.换土垫层法 B.灰土垫层法 C.强夯法

D.重锤夯实法 4.用起重机械将重锤吊起从高处自由落下,对地基反复进行强力夯实的地基处理方法是()。 A.换土垫层法 B.灰土垫层法 C.强夯法 D.重锤夯实法 5.强夯法所用起重机械的重锤重量一般为()。 A.8~40 B.8~30 C.9~30 D.9~40 6.强夯法一般是用起重机械将重锤吊起到()m高处自由落下。 A.10~30 B.10~40 C.6~30 D.6~40 7.水泥粉煤灰碎石桩简称()。 A.CFP桩 B.CFG桩 C.CFD桩 D.CPG桩 8.水泥粉煤灰碎石桩是处理()地基的一种新方法。 A.软弱 B.次坚硬 C.坚硬 D.松散 9.深层密实法中的振冲法又称()。 A.振动冲洗法 B.振动水冲法 C.振动密实法 D.震动夯实法 10.振冲桩适用于加固()地基。

A.软弱黏土 B.次坚硬的硬土 C.坚硬的硬土 D.松散的砂土 11.深层搅拌法是利用()做固化剂。 A.泥浆 B.砂浆 C.水泥浆 D.混凝土 二、多项选择题 1.地基处理就是为了()。 A.对地基进行必要的加固或改良 B.提高地基土的承载力 C.提高建筑的抗震等级 D.保证地基稳定,减少房屋的沉降或不均匀沉降 E.消除湿陷性黄土的湿陷性,提高抗液化能力 2.下列属于常用的人工地基处理方法的有()。 A.换土垫层法 B.重锤表层夯实 C.排水灌浆法 D.强夯、振冲、砂桩挤密法 E.深层搅拌、堆载预压、化学加固法

JAVA中常用类的常用方法

JAVA屮常用类的常用方法 一.java?丨ang.Object 类 1、clone()方法 创建丼返M此对象的一个副木。要进行“克隆”的对象所属的类必须实现https://www.wendangku.net/doc/073773123.html,ng. Cloneable 接口。 2、equals(Objectobj)方法 0 功能:比较引用类型数据的等价性。 0 等价标准.?引用类型比较引用,基木类型比较值。 0 存在特例.?对File、String、Date及封装类等类型来说,是比较类型及对象的内稃而+ 考虑引用的是否为同一实例。 3、finalize〇方法 当垃圾丨"丨收器确定>(、存在对该对象的更多引用时,由对象的垃圾丨"丨收器调用此方法。 4、hashCode〇方法返 回该对象的哈希码值。 5、notify〇方法 唤醒在此对象监视器上等待的中?个线祝。 6、notifyAII〇方法 唤醒在此对象监视器上等待的所有线程= 7、toString()方法 返W该对象的字符串表示。在进行String与其它类型数据的连接操作时,&动调用tostringo 方法。可以根据耑要重写toStringO方法。 8、wait()方法 在其他线程调用此对象的n〇tify()方法或notifyAIIO方法前,异致当前线程等待。 二、字符串相关类 I String 类 charAt(int index)返回指定索引处的char值。compareTo{String anotherString)按字

典顺序比较两个字符串。compareTolgnoreCase(Stringstr)按字典顺序比较两个字 符串,不考虑人小写。concat(String str)将指定字符串连接到此字符串的结尾。 endsWith(String suffix)测试此字符串是否以指定的〗?缀结束。equals{Object anObject)将此字符串与指定的对象比较。 equalslgnoreCase(String anotherString)将此String 与另一个String 比较,考虑人小'与’。indexOf(int ch)返H指定字符在此字符串屮第一次出现处的索引。 indexOf(String str)返回第一次出现的指定子字符串在此字符串屮的索引, lastlndexOf(intch)返回指定字符在此字符串中最后??次出现处的索引。 length()返|n丨此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。 split(String regex)根据给定正则表达式的匹配拆分此字符串。startsWith{String prefix)测试此字符 串是否以指定的前缀开始。substring(int beginlndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginlndex, int endlndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginlndex 处开始,一直到索引endlndex-1处的字符。 t〇CharArray()将此字符串转换为一个新的字符数组。

java中时间格式的转换

1.将日期类型转换为格式的字符串类型 java.util.Date中的日期 Date Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time=sdf.format(date); 2.将字符串类型的转换为指定格式的日期类型(java.util.Date) String time = "2009-7-29 14:28:12"; DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = df.parse(time); 这里需要抛出ParseException异常 若将java.util.Date类型转换成java.sql.Date时,只需添加一行代码 java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 3.使用java.sql.Timestamp在java程序中rs.getDate()时获取日期的时、分、秒 String str = ""; String format="yyyy-MM-dd HH:mm:ss"; try { //这里与数据库的连接已经省略,获得PreparedStatement的对象psmt ResultSet rs = psmt.executeQuery(); while(rs.next()){ Timestamp ts = rs.getTimestamp("pdate"); SimpleDateFormat sdf = new SimpleDateFormat(format); str = sdf.format(ts); System.out.println(str); } } catch (SQLException e) { e.printStackTrace(); } ...... SimpleDateFormat的用法: //SimpleDateFormat中的parse方法可以 把String型的字符串转换成特定格式的date类型 import java.text.*; import java.util.*; public class TestDate { public static void main(String[] args) { String dStr = "2001.12.12-08.23.21"; Date d = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd-HH.mm.ss"); try { d = sdf.parse(dStr);

关于特殊地基的常用处理方法

关于特殊地基的常用处理方法的讨论 赵启光 (郑州大学佛罗里达国际学院河南郑州450000) 摘要: 地基与建筑物的关系非常密切。地基问题的处理恰当与否,不仅直接影响建筑物的造价,而且直接影响建筑物的安危,即它关系到整个工程的质量、投资和进度,因此其重要性已愈来愈多地被人们所认识。文章简要讨论了软土地基、湿陷性黄土地基、膨胀土地基等特殊土地基的常用处理方法。 关键词:软土地基加固排水 Summary:Foundations have up close and personal relations with buildings.The appropriate or foundations of the problem of processing,It is not only direct impact the cost of buildings,but also direct impact the safety of buildings,it is that it can affect the quality 、the investment and the rate of progress,so it is attached importance by more and more people.This article discuss in brief of the password treatment about soft clay ground、collapsible loess and expansive soil. Keyword:soft clay ground,reinforce,drainage 0 引言 地基与建筑物的关系非常密切。地基虽不是建筑物本身的一部分,但它在建筑中占有十分重要的地位。地基问题的处理恰当与否,不仅直接影响建筑物的造价,而且直接影响建筑物的安危,即它关系到整个工程的质量、投资和进度,因此其重要性已愈来愈多地被人们所认识。特殊地基的处理是建筑工程中的重点,若地基处理不当,可能引起建筑沉降,出现墙体裂缝和结构裂缝,影响建筑的安全和使用寿命,下面笔者将简要介绍几种特殊地基的常用处理方法。 一、软土地基的处理方法 建造在软土地基上的建筑物易产生较大沉降或不均匀沉降,必须慎重对待。在设计上,除加强上部结构的刚度外,还需采取以下一些处理措施: 1)应充分利用软土地基表层的密实土层,作为基础的持力层 2)减少建筑物对地基土地的附加压力,减少架空地面,减少回填土,设地下室等。 3)砂垫层设置于路堤填土与软土地基之间的透水性垫层,可起排水的作用,从而保证了填土荷载作用下地基中孔隙水的顺利排出,既加快了地基的固结,还可以保护路堤免受孔隙水浸泡。设置砂垫层要注意防止被细粒污染而造成排水孔隙堵塞,在砂垫层的上下应设反滤层。砂垫层适于施工期限不紧、路堤高度为极限高度的二倍以内,砂源丰富、软土地基表面无隔水层的情况。当软土层较薄,或软土垫层底层又有透水层时,效果更好。采用换土垫层与桩基,也可在沙垫层内埋设土工织物,提高地基承载力。 4)采用砂井预压,使土层排水固结。 5) 可采用高压喷射、深层搅拌。粉体喷射方法,将土粒胶结,从而改善土的工程性质。 以上是处理软土地基常用的几种方法,不能盲目地相信哪一种方法,而是要根据自己所处的环境及条件选择最适宜的方法来处理软土地基,才会达到理想的效果。 软土地基常见五种处理方法: 鉴于淤泥软土地基承载力低,压缩性大,透水性差,不易满足水工建筑物地基设计要求,故需进行处理,下面介绍淤泥软土地基五种处理方法。 1、桩基法 当淤土层较厚,难以大面积进行深处理,可采用打桩办法进行加固处理。而桩基础技术多种多样,早期多采用水泥土搅拌桩、砂石桩、木桩,目前很少使用,一是水泥土搅拌桩水灰比、

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);

日期格式大全

Java中日期格式转换 /** * 字符串转换为java.util.Date
* 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'
* yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'
* yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'
* yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00'
* yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am'
* @param time String 字符串
* @return Date 日期
*/ public static Date stringToDate(String time){ SimpleDateFormat formatter; int tempPos=time.indexOf("AD") ; time=time.trim() ; formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); } tempPos=time.indexOf("-"); if(tempPos>-1&&(time.indexOf(" ")<0)){ formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ"); } else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); } else if((time.indexOf("-")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); } else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } else if((time.indexOf("-")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } ParsePosition pos = new ParsePosition(0); java.util.Date ctime = formatter.parse(time, pos); return ctime;

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

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

常用地基处理方法的分类

1-1 常用地基处理方法的分类、原理、作用、适用范围、优点及局限性—1 分类处理方法原理及作用适用范围优点及局限性 换 土 垫 层 法 机械 碾压法挖除浅层软弱图或不良土,分层碾压或夯实土,按回填的材料可分为砂(石)垫层、碎石垫层、粉煤灰垫层、干渣垫层、土(灰土、二灰)垫层等 它可提高持力层的承载力,减小沉降量,消除或部分消除土的湿陷性和胀缩性,防止土的冻胀作用及改善土的抗液化性常用于基坑面积宽大开挖土方量较大的回填土方工程适用于处理浅层非饱和和软弱地基、湿陷性黄土地基、膨胀土地基、季节性冻土地基、素填土和杂填土地基简易可行,但仅限于浅层处理,一般不大于3m,对湿陷性黄土地基不大于5m; 如遇地下水,对于重要工程,需有附加降低地下水位的措施;干渣垫层、土(灰土、二灰)垫层等; 它可提高持力层的承载力,减小沉降量,消除或部分消除土的湿陷性和胀缩性,防止土的冻胀作用及改善土的抗液化性 重锤 夯实法适用于地下水位以上稍湿的粘性土、砂土、湿陷性黄土、杂填土以及分层填土地基 平板 振动法适用于处理非饱和无粘性土或粘粒含量少和透水性好的杂填土地基强夯 挤淤法采用边强夯、边填碎石、边挤淤的方法,在地基中形成碎石墩体 它可提高地基承载力和减小沉降适用于厚度较小的淤泥和淤泥质土地基。应通过现场实验才能确定其适用性 爆破法由于振动而使土体产生液化和变形,从而达到较大密实度,用以提高地基承载力和减小沉降适用于饱和净砂,非饱和但经常灌水饱和的砂、粉土和湿陷性黄土 深层密实法 强夯法利用强大的夯击能,迫使深层土液化和动力固结,使土体密实,用以提高地基承载力,减小沉降,消除土的湿陷性、胀缩性和液化性强夯置换是指将厚度小于8m的软弱土层,边夯边填碎石,形成深度为3~6m,直径为2m左右的碎石柱体,与周围土体形成复合基础适用于碎石土、砂土、素填土、杂填土、低饱和度的粉土和粘性土、和湿陷性黄土 强夯置换适用于软弱土施工速度快,施工质量容易保证、经处理后土性质较为均匀,造价经济,适用于处理大面积场地施工时对周围有很大振动和噪音,不宜在闹市区施工需要有一套强夯设备(重锤、起重机)

Java日期格式大全

日期和时间模式 日期和时间格式由日期和时间模式字符串指定。在日期和时间模式字符串中,未加引号的字母'A'到'Z'和'a'到'z'被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号(')引起来,以免进行解释。"''"表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。 定义了以下模式字母(所有其他字符'A'到'Z'和'a'到'z'都被保留): 字 母 日期或时间元素表示示例 G Era标志符Text AD M年中的月份Month July;Jul;07 W月份中的周数Number2 d月份中的天数Number10 E星期中的天数Text Tuesday;Tue H一天中的小时数(0-23)Number0 K am/pm中的小时数 (0-11) Number0 m小时中的分钟数Number30 S毫秒数Number978 Z时区RFC822time zone -0800

示例 以下示例显示了如何在美国语言环境中解释日期和时间模式。给定的日期和时间为美国太平洋时区的本地时间2001-07-0412:08:56。 日期和时间模式结果 "yyyy.MM.dd G'at'HH:mm:ss z"2001.07.04AD at12:08:56PDT "EEE,MMM d,''yy"Wed,Jul4,'01 "h:mm a"12:08PM "hh'o''clock'a,zzzz"12o'clock PM,Pacific Daylight Time "K:mm a,z"0:08PM,PDT "yyyyy.MMMMM.dd GGG hh:mm aaa"02001.July.04AD12:08PM "EEE,d MMM yyyy HH:mm:ss Z"Wed,4Jul200112:08:56-0700 "yyMMddHHmmssZ"010*********-0700 "yyyy-MM-dd'T'HH:mm:ss.SSSZ"2001-07-04T12:08:56.235-0700 同步 日期格式是不同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须是外部同步的。

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(); } }

常用比较日期的SQL语句

sql server日期比较日期查询常用语句 关键字: sql sql server日期比较日期查询常用语句 通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。 在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7。假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。你可以通过@@DATEFIRST函数来检查第一天设置。 为了理解这些例子,我们先复习一下DATEDIFF和DATEADD函数。DATEDIFF函数计算两个日期之间的小时、天、周、月、年等时间间隔总数。DATEADD函数计算一个日期通过给时间间隔加减来获得一个新的日期。要了解更多的DATEDIFF和DATEADD函数以及时间间隔可以阅读微软联机帮助。 使用DATEDIFF和DATEADD函数来计算日期,和本来从当前日期转换到你需要的日期的考虑方法有点不同。你必须从时间间隔这个方面来考虑。比如,从当前日期到你要得到的日期之间有多少时间间隔,或者,从今天到某一天(比如1900-1-1)之间有多少时间间隔,等等。理解怎样着眼于时间间隔有助于你轻松的理解我的不同的日期计算例子。 一个月的第一天 第一个例子,我将告诉你如何从当前日期去这个月的最后一天。请注意:这个例子以及这篇文章中的其他例子都将只使用DATEDIFF和DATEADD函数来计算我们想要的日期。每一个例子都将通过计算但前的时间间隔,然后进行加减来得到想要计算的日期。 这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 我们把这个语句分开来看看它是如何工作的。最核心的函数是getdate(),大部分人都知道这个是返回当前的日期和时间的函数。下一个执行的函数DATEDIFF(mm,0,getdate())是计算当前日期和"1900-01-01 00:00:00.000"这个日期之间的月数。记住:时期和时间变量和毫秒一样是从"1900-01-01 00:00:00.000"开始计算的。这就是为什么你可以在DATEDIFF 函数中指定第一个时间表达式为"0"。下一个函数是DATEADD,增加当前日期到"1900-01-01"的月数。通过增加预定义的日期"1900-01-01"和当前日期的月数,我们可以获得这个月的第一天。另外,计算出来的日期的时间部分将会是"00:00:00.000"。 这个计算的技巧是先计算当前日期到"1900-01-01"的时间间隔数,然后把它加到"1900-01-01"上来获得特殊的日期,这个技巧可以用来计算很多不同的日期。下一个例子也

相关文档
相关文档 最新文档