- 浏览: 1944332 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
cht的大摩托:
学习
IBM WebSphere Performance Tool / ISA / jca457.jar / ha456.jar / ga439.jar -
leeking888:
有没有linux 64位的相关librfccm.so等包啊?
web test LoadRunner SAP / java / Java Vuser / web_set_max_html_param_len -
paladin1988:
非常不错,多谢了。。
appServer IBM WebSphere / WAS 7 / 8.5 / was commerce -
hzxlb910:
写了这么多
net TCP/IP / TIME_WAIT / tcpip / iperf / cain -
acwyg:
ed2k://|file|LoadRunner.V8.1.is ...
web test performance tools / linux performance tools / windows performance tools
CST和GMT时间的区别
http://www.cnblogs.com/sanshi/archive/2009/08/28/1555717.html
今天遇到一个奇怪的问题,在服务器端通过 Java 获取当前时间为 Fri Aug 28 09:37:46 CST 2009,
转化为GMT时间为:28 Aug 2009 01:37:46 GMT,也就是说GMT时间加上 8 个小时等于CST表示的时间,
那这个CST不就是北京时间么,因为我们是在东八区的。
一切看起来很正常,不过在客户端用JavaScript解析这个时间就有问题了:
1.
// Fri Aug 28 2009 23:37:46 GMT+0800
2.
new
Date(
'Fri Aug 28 09:37:46 CST 2009'
).toString();
好奇怪,这次GMT和CST表示的时间居然相差整整 14 个小时?
百度一下
找到这篇文章
,问题已经很明了。
GMT(Greenwich Mean Time)代表格林尼治标准时间,这个大家都知道。
而CST却同时可以代表如下 4 个不同的时区:
- Central Standard Time (USA) UT-6:00
- Central Standard Time (Australia) UT+9:30
- China Standard Time UT+8:00
- Cuba Standard Time UT-4:00
可见,CST可以同时表示美国,澳大利亚,中国,古巴四个国家的标准时间。
前面提到的通过 Java 获取的CST时间用的是China Standard Time,而客户端JavaScript则默认采用的是美国的中部时间。
所以将 Fri Aug 28 09:37:46 CST 2009 加上 6 个小时,再加上 8 个小时,就等于 Fri Aug 28 2009 23:37:46 GMT+0800
可见,在以后的编程中为了避免错误,还是不要使用CST时间,而尽量采用GMT时间。
http://guoqinhua1986-126-com.iteye.com/blog/231244
********************定时执行任务的三种方法***********
1)java.util.Timer
这个方法应该是最常用的,不过这个方法需要手工启动你的任务:
Timer timer=new Timer();
timer.schedule(new ListByDayTimerTask(),10000,86400000);
这里的ListByDayTimerTask类必须extends TimerTask里面的run()方法。
2)ServletContextListener
这个方法在web容器环境比较方便,这样,在web server启动后就可以
自动运行该任务,不需要手工操作。
将ListByDayListener implements ServletContextListener接口,在
contextInitialized方法中加入启动Timer的代码,在contextDestroyed
方法中加入cancel该Timer的代码;然后在web.xml中,加入listener:
< listener>
< listener-class>com.qq.customer.ListByDayListener< /listener-class>
< /listener>
3)org.springframework.scheduling.timer.ScheduledTimerTask
如果你用spring,那么你不需要写Timer类了,在schedulingContext-timer
.xml中加入下面的内容就可以了:
< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
< beans>
< bean id="timer" class="org.springframework.scheduling.timer.TimerFactoryBean">
< property name="scheduledTimerTasks">
< list>
< ref local="MyTimeTask1"/>
< /list>
< /property>
< /bean>
< bean id="MyTimeTask" class="com.qq.timer.ListByDayTimerTask"/>
< bean id="MyTimeTask1" class="org.springframework.scheduling.timer.ScheduledTimerTask">
< property name="timerTask">
< ref bean="MyTimeTask"/>
< /property>
< property name="delay">
< value>10000< /value>
< /property>
< property name="period">
< value>86400000< /value>
< /property>
< /bean>
< /beans>
1)java.util.Timer 这个方法应该是最常用的,不过这个方法需要手工启动你的任务: Timer timer=new Timer(); timer.schedule(new ListByDayTimerTask(),10000,86400000); 这里的ListByDayTimerTask类必须extends TimerTask里面的run()方法。
2)ServletContextListener 这个方法在web容器环境比较方便,这样,在web server启动后就可以自动运行该任务,不需要手工操作。将ListByDayListener implements ServletContextListener接口,在 contextInitialized方法中加入启动Timer的代码,在contextDestroyed 方法中加入cancel该Timer的代码;然后在web.xml中,加入listener: < listener> < listener-class>com.qq.customer.ListByDayListener< /listener-class> < /listener> 3)org.springframework.scheduling.timer.ScheduledTimerTask 如果你用spring,那么你不需要写Timer类了,在schedulingContext-timer .xml中加入下面的内容就可以了: < ?xml version="1.0" encoding="UTF-8"?> < !DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> < beans> < bean id="timer" class="org.springframework.scheduling.timer.TimerFactoryBean"> < property name="scheduledTimerTasks"> < list> < ref local="MyTimeTask1"/> < /list> < /property> < /bean> < bean id="MyTimeTask" class="com.qq.timer.ListByDayTimerTask"/> < bean id="MyTimeTask1" class="org.springframework.scheduling.timer.ScheduledTimerTask"> < property name="timerTask"> < ref bean="MyTimeTask"/> < /property> < property name="delay"> < value>10000< /value> < /property> < property name="period"> < value>86400000< /value> < /property> < /bean> < /beans>
java 字符串<==>时间 格式转换
http://virgos.iteye.com/blog/197894
如:有这样一个字符串:“20070911121547”, 转换成时间格式:2007-09-11 12:15:47
- public class bb {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- SimpleDateFormat df = new SimpleDateFormat( "yyyyMMddhhmmss" );
- String dateString = "20071128175545" ;
- try {
- Date date = df.parse(dateString);
- System.out.println(df.format(date));
- } catch (Exception ex) {
- System.out.println(ex.getMessage());
- }
- }
- }
public class bb { public static void main(String[] args) { // TODO Auto-generated method stub SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss"); String dateString = "20071128175545"; try { Date date = df.parse(dateString); System.out.println(df.format(date)); } catch (Exception ex) { System.out.println(ex.getMessage()); } } }
时间无非就是字符串类型转向时间类型,或则时间类型转向字符串类型,还有就是前一个时间,后一个时间的处理等等
自己做了一个例子:
- package com.observe.monitoralarm.util;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- /**
- * 时间帮助类
- * @version $Id: DateUtil.java,v 1.1 2008/05/28 04:29:52 linan Exp $
- * @author LiNan
- */
- public class DateUtil {
- private Calendar calendar=Calendar.getInstance();
- /**
- * 得到当前的时间,时间格式yyyy-MM-dd
- * @return
- */
- public String getCurrentDate(){
- SimpleDateFormat sdf=new SimpleDateFormat( "yyyy-MM-dd" );
- return sdf.format( new Date());
- }
- /**
- * 得到当前的时间,自定义时间格式
- * y 年 M 月 d 日 H 时 m 分 s 秒
- * @param dateFormat 输出显示的时间格式
- * @return
- */
- public String getCurrentDate(String dateFormat){
- SimpleDateFormat sdf=new SimpleDateFormat(dateFormat);
- return sdf.format( new Date());
- }
- /**
- * 日期格式化,默认日期格式yyyy-MM-dd
- * @param date
- * @return
- */
- public String getFormatDate(Date date){
- SimpleDateFormat sdf=new SimpleDateFormat( "yyyy-MM-dd" );
- return sdf.format(date);
- }
- /**
- * 日期格式化,自定义输出日期格式
- * @param date
- * @return
- */
- public String getFormatDate(Date date,String dateFormat){
- SimpleDateFormat sdf=new SimpleDateFormat(dateFormat);
- return sdf.format(date);
- }
- /**
- * 返回当前日期的前一个时间日期,amount为正数 当前时间后的时间 为负数 当前时间前的时间
- * 默认日期格式yyyy-MM-dd
- * @param field 日历字段
- * y 年 M 月 d 日 H 时 m 分 s 秒
- * @param amount 数量
- * @return 一个日期
- */
- public String getPreDate(String field, int amount){
- calendar.setTime(new Date());
- if (field!= null &&!field.equals( "" )){
- if (field.equals( "y" )){
- calendar.add(calendar.YEAR, amount);
- }else if (field.equals( "M" )){
- calendar.add(calendar.MONTH, amount);
- }else if (field.equals( "d" )){
- calendar.add(calendar.DAY_OF_MONTH, amount);
- }else if (field.equals( "H" )){
- calendar.add(calendar.HOUR, amount);
- }
- }else {
- return null ;
- }
- return getFormatDate(calendar.getTime());
- }
- /**
- * 某一个日期的前一个日期
- * @param d,某一个日期
- * @param field 日历字段
- * y 年 M 月 d 日 H 时 m 分 s 秒
- * @param amount 数量
- * @return 一个日期
- */
- public String getPreDate(Date d,String field, int amount){
- calendar.setTime(d);
- if (field!= null &&!field.equals( "" )){
- if (field.equals( "y" )){
- calendar.add(calendar.YEAR, amount);
- }else if (field.equals( "M" )){
- calendar.add(calendar.MONTH, amount);
- }else if (field.equals( "d" )){
- calendar.add(calendar.DAY_OF_MONTH, amount);
- }else if (field.equals( "H" )){
- calendar.add(calendar.HOUR, amount);
- }
- }else {
- return null ;
- }
- return getFormatDate(calendar.getTime());
- }
- /**
- * 某一个时间的前一个时间
- * @param date
- * @return
- * @throws ParseException
- */
- public String getPreDate(String date) throws ParseException{
- Date d=new SimpleDateFormat().parse(date);
- String preD=getPreDate(d,"d" , 1 );
- Date preDate=new SimpleDateFormat().parse(preD);
- SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
- return sdf.format(preDate);
- }
-
}
//-----------------日期-------------------------
Calendar calendar=Calendar.getInstance();
int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH)+1;
int day=calendar.get(Calendar.DATE);
获取今天的日期字符串
String today=java.text.DateFormat.getDateInstance().format(new java.util.Date());
获取今天的日期
new java.sql.Date(System.currentTimeMillis())
DateFormatStyle.java
package com.javaeye.lindows.util; import java.text.DateFormat; import java.util.Date; public class DateFormatStyle { // 格式化时间: 09-4-8 下午3:57 public String formateTime() { Date nowDate = new Date(); // 获取系统时间样式 Wed Apr 08 15:28:12 CST 2009 System.out.println(nowDate); DateFormat dFormat = DateFormat.getInstance(); String string = dFormat.format(nowDate); return string; } // 格式化时间1:下午04时00分36秒 CST public String formateTime1() { Date nowDate = new Date(); DateFormat dFormat1 = DateFormat.getTimeInstance(DateFormat.FULL); String string1 = dFormat1.format(nowDate); return string1; } // 格式化时间2:下午04时02分15秒 public String formateTime2() { Date nowDate = new Date(); // 获取系统时间 DateFormat dFormat2 = DateFormat.getTimeInstance(DateFormat.LONG); String string2 = dFormat2.format(nowDate); return string2; } // 格式化时间3:下午4:05 public String formateTime3() { Date nowDate = new Date(); // 获取系统时间 DateFormat dFormat3 = DateFormat.getTimeInstance(DateFormat.SHORT); String string3 = dFormat3.format(nowDate); return string3; } // 格式化时间4:2009年4月8日 星期三 public String formateTime4() { Date nowDate = new Date(); // 获取系统时间 DateFormat dFormat4 = DateFormat.getDateInstance(DateFormat.FULL); String string4 = dFormat4.format(nowDate); return string4; } // 格式化时间5:2009年4月8日 public String formateTime5() { Date nowDate = new Date(); // 获取系统时间 DateFormat dFormat5 = DateFormat.getDateInstance(DateFormat.LONG); String string5 = dFormat5.format(nowDate); return string5; } // 格式化时间6:09-4-8 public String formateTime6() { Date nowDate = new Date(); // 获取系统时间 DateFormat dFormat6 = DateFormat.getDateInstance(DateFormat.SHORT); String string6 = dFormat6.format(nowDate); return string6; } public static void main(String[] args) { DateFormatStyle testDate = new DateFormatStyle(); System.out.println("格式化时间: " + testDate.formateTime()); System.out.println("格式化时间1:" + testDate.formateTime1()); System.out.println("格式化时间2:" + testDate.formateTime2()); System.out.println("格式化时间3:" + testDate.formateTime3()); System.out.println("格式化时间4:" + testDate.formateTime4()); System.out.println("格式化时间5:" + testDate.formateTime5()); System.out.println("格式化时间6:" + testDate.formateTime6()); } }
date.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ page import="com.javaeye.lindows.test.DateFormatStyle"%> <head></head> <body> <!-- 时间写法一 --> <jsp:useBean id="DateFormatStyle_id" class="com.javaeye.lindows.test.DateFormatStyle">当前时间是:</jsp:useBean> <%--scriplet 注释--%> <%=DateFormatStyle_id.formateTime2()%> <p>当前时间是: <!-- 时间写法二 --> <% DateFormatStyle dateStyle = new DateFormatStyle(); out.print(dateStyle.formateTime2()); %> </body> </html>
------------------end--------------------
发表评论
-
java Jython / JPython /
2016-12-28 15:19 1488s http://www.jython.org ... -
java coroutine / xiecheng / java Qursar /
2016-12-28 14:52 1292s java thread / process / th ... -
JAVA EE Servlet
2011-03-09 03:43 1231Servlet 学习笔记1:Servlet基本结构 ... -
JAVA JDK / JRE / SDK IBM & Oracle
2010-03-09 20:42 3823JAVA JDK Version http://baik ... -
java books
2009-10-26 22:17 1223http://derekop.iteye.com/blog/5 ... -
java http / Cache / Protocol / Client / Session / Cokie / Status / HttpClient
2009-10-22 20:15 5139HttpSesstion / http sessio ... -
JAVA XML / dom / jdom / dom4j / sax / stax / StAX Stream / StAX Event
2009-07-06 01:17 5654http://xml.apache.org/commons ... -
java math
2009-02-16 18:03 1931计数器 (江苏教育考试 ... -
java reflect
2009-02-03 11:42 1538http://www.iteye.com/topic/ ... -
java exception
2009-01-12 10:40 1595http://topic.csdn.net/u/2009010 ... -
java thread / process / thread runnable / thread sleep / thread run
2009-01-10 11:09 2710Java Thread &Memory No ... -
java io / nio / bio / aio
2009-01-09 13:12 2828sdfsafd 未整理 TxtWrite .java ... -
java security / SSL / TLS / md5 / sha / base64 / rsa / des / aes / 3des
2008-11-06 21:40 44418java jdk keytool C:\Pr ... -
java protocol / patent
2008-11-05 01:14 1652专利 ... -
java net unicode / native2ascii / url decode / url encode / UTF8 / js url code
2008-10-28 17:53 22016s http://chengyue2007.ite ... -
java certification SCJP / OCJP / NCRE / RHCE / OCP / ibm certifications
2008-09-26 13:28 2821三级PC上机考试软件下载 http://sk.nee ... -
java Regular Expression / regexp / zhengzebiaodashi
2008-09-26 02:35 2617java Regular Expression / ... -
java lang / BigDecimal
2008-09-24 11:01 1707String StringTest.java ... -
java temp
2008-09-23 18:20 1595asdfdasfadsfdsafsaf --查询商品信息在 ... -
JAVA xml UML
2008-09-21 00:33 1276uml 软件工程组织 http://www.uml.or ...
相关推荐
Java5中的`java.util.Timer`类是一个非常实用的工具,用于调度周期性的任务执行。它在多线程环境中提供了一种高效且灵活的方式来安排任务在未来某个时间点或定期执行。这个类是Java早期版本中对定时任务管理的一个...
`Timer`类主要通过两个方法来调度任务:`schedule(TimerTask task, long delay)`和`schedule(TimerTask task, Date firstTime, long period)`。前者用于在指定延迟后执行一次任务,后者则在首次指定时间后,每隔...
Timer类提供了计划任务的方法,如`schedule(TimerTask task, long delay)`和`schedule(TimerTask task, Date firstTime, long period)`。这些方法可以用来安排一个`TimerTask`实例在未来某一时刻或以一定间隔重复...
`SimpleDateFormat`是`java.text`包中的一个类,用于将`Date`对象格式化为字符串,也可以将符合特定模式的日期字符串解析为`Date`对象。 ```java SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss...
在Java编程语言中,`Timer`和`TimerTask`是两个重要的类,它们用于调度周期性的任务执行。这两个类属于`java.util`包,提供了在后台线程中延迟执行任务或者定期执行任务的能力,这对于创建定时任务或者实现定时器...
3. 使用`Timer`的`schedule(TimerTask task, long delay)`或`schedule(TimerTask task, Date firstTime, long period)`方法来安排任务执行。 例如: ```java Timer timer = new Timer(); TimerTask task = new ...
### Java里timer执行定时任务 #### 一、延时执行 在Java中,`java.util.Timer` 类提供了创建和管理定时任务的功能。如果需要在特定时间之后执行某个任务,可以利用 `Timer` 类的 `schedule()` 方法。此方法接受一...
### Timer定时器(Java) #### 知识点概述 在Java中,`Timer`类是`java.util`包的一部分,用于调度线程执行任务。它主要用于处理那些需要定期执行的任务,比如更新用户界面、发送电子邮件通知等场景。通过`Timer`...
Java提供了多个类和接口来处理日期和时间,其中`java.util.Date`和`java.sql.Date`是两个经常被混淆和讨论的类,尤其是在数据库编程中。由于这两个类在概念和功能上有所不同,理解它们之间的区别对于编写有效的Java...
Java定时器Timer是Java编程语言中用于计划执行任务的一种工具类。Timer类主要提供了定时任务的安排执行,对于需要在指定时间后、或者以固定周期重复执行任务的场景非常有用。本文档中介绍的Timer类的实现以及如何...
Java定时器(Timer)是Java.util包中的一个类,它提供了调度任务的能力,可以在特定的延迟后或定期执行。在Java编程中,我们有时需要在指定时间执行某些操作,例如发送提醒、执行清理任务等,这时候Java Timer就派上...
- Timer类主要提供了两个方法:`schedule(TimerTask task, long delay)`和`schedule(TimerTask task, Date firstTime, long period)`。前者用于延迟执行任务,后者用于周期性地执行任务。 2. **TimerTask类详解** ...
Java定时器(java.util.Timer)是Java编程中用于安排周期性或一次性任务的工具。在Java程序中,我们经常需要在特定时间执行某些操作,如定时执行日志清理、批量处理任务,或者创建定时提醒功能。Java定时器框架包括...
`Java Timer`类是Java标准库提供的一种简单定时器,可以用于实现定时任务。本篇文章将详细探讨如何在Web应用中使用`Java Timer`来实现定时任务。 首先,`Java Timer`类位于`java.util`包中,它提供了一个定时调度...
Log.d("MyTimerTask", "Task executed at " + new Date()); } } ``` 在`run()`方法中,你可以添加任何需要定时执行的操作,例如更新UI、发送网络请求等。不过要注意,由于`run()`方法在后台线程执行,如果需要...
Java中的`Timer`类是Java.util包下的一个实用工具类,它主要用于实现定时任务的调度。`Timer`类提供了一种方法,可以在指定的延迟后或定期执行任务,这对于需要在应用程序中设置计时器或者定时触发某些操作的场景...
Java中的`Timer`类是Java.util包的一部分,用于执行定时任务。`Timer`类提供了计划任务的方法,使得任务能够在未来的某一时刻或者按照特定的周期执行。`Timer`类结合`TimerTask`类一起使用,可以实现强大的定时任务...
【Java定时任务:利用java Timer类实现定时执行任务的功能】 在Java编程中,有时我们需要在特定的时间点或者按照预设的间隔执行某些任务,这就需要用到定时任务。Java提供了`java.util.Timer`类来帮助我们实现这个...
本文将深入探讨`android date & timer study`,重点关注如何在Java语言环境下处理Android中的时间和日期。 首先,我们来看Java中处理日期的基本类`java.util.Date`。这个类用于表示特定的瞬间,精确到毫秒。创建一...