- 浏览: 91965 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (66)
- log4j (3)
- hibernate (6)
- oracle (7)
- axis (1)
- tomcat (9)
- web (10)
- JS (7)
- Java web (12)
- jsp (5)
- myeclipse (2)
- struts1 (1)
- java (11)
- jbmp4 (2)
- 连接池 spring (1)
- java JBPM6 (1)
- websewvice (3)
- java spring AOP (1)
- JS,ajax (1)
- activiti5 (2)
- Java web soapUi (2)
- jstl (1)
- applet (1)
- lintCode刷题开始 (0)
- LintCode刷题 (1)
- kindeditor (2)
最新评论
Java 中与时间有关的几个问题
1. Date
# 需要说明的是 Date 无时区,
# 但date.toString() 则是按当前 JVM 的默认时区来格式化的,也就是 TimeZone.getDefault() 获得的时区,
# 同时 date.toString() 是按照 "EEE MMM dd HH:mm:ss zzz yyyy" 来格式化的;
2. Date to String
Java代码 收藏代码
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String strDate = format.format(date);
3. String to Date
Java代码 收藏代码
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(strDate);
4. 时区转换
Java代码 收藏代码
String strDate = "2013-07-17 10:12:15";
String fromTimeZone = "GMT+8";
String toTimeZone = "GMT+0";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone(fromTimeZone));
Date date = format.parse(strDate);
format.setTimeZone(TimeZone.getTimeZone(toTimeZone));
strDate = format.format(date);
System.out.println(strDate);
5. 区域问题(不同的区域对时间的显示是不同的)
Java代码 收藏代码
SimpleDateFormat format1 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.SIMPLIFIED_CHINESE);
SimpleDateFormat format2 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
System.out.println(format1.format(new Date())); // 星期三 七月 17 10:57:50 CST 2013
System.out.println(format2.format(new Date())); // Wed Jul 17 10:57:50 CST 2013
6. 时间跳变
# 1582-10-04 的下一天是 1582-10-15
Java代码 收藏代码
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 1582);
calendar.set(Calendar.MONTH, 9);
calendar.set(Calendar.DAY_OF_MONTH, 4);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(format.format(calendar.getTime())); // 1582-10-04
calendar.add(Calendar.DAY_OF_MONTH, 1); // 增加一天
System.out.println(format.format(calendar.getTime())); // 1582-10-15
# 参见:http://dlc.sun.com.edgesuite.net/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/latest/html/zh_CN/api/java/util/GregorianCalendar.html
# 夏令时
Java代码 收藏代码
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 1986);
calendar.set(Calendar.MONTH, 4);
calendar.set(Calendar.DAY_OF_MONTH, 3);
calendar.set(Calendar.HOUR_OF_DAY, 23);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(calendar.getTime())); // 1986-05-03 23:46:38
calendar.add(Calendar.HOUR_OF_DAY, 1); // 增加一个小时
System.out.println(format.format(calendar.getTime())); // 1986-05-04 01:46:38(中间跳过了 00:46:38)
# 参见:http://baike.baidu.com/view/100246.htm
7. 设置 JVM 的时区
# 在JVM启动的时候,加入参数-Duser.timezone=GMT+08
# GMT, UTC 和 CST 时间的区别
# GMT 代表格林尼治标准时间;
# UTC 是比 GMT 更加精确的世界时间标准,在不需要精确到秒的情况下,通常也将GMT和UTC视作等同;
# CST 可以同时表示中国、美国、澳大利亚、古巴四个国家的标准时间;
# 参见:
#http://www.cnblogs.com/sanshi/archive/2009/08/28/1555717.html
#http://baike.baidu.com/view/42936.htm
转自http://dyccsxg.iteye.com/blog/1908607 感谢!
1. Date
# 需要说明的是 Date 无时区,
# 但date.toString() 则是按当前 JVM 的默认时区来格式化的,也就是 TimeZone.getDefault() 获得的时区,
# 同时 date.toString() 是按照 "EEE MMM dd HH:mm:ss zzz yyyy" 来格式化的;
2. Date to String
Java代码 收藏代码
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String strDate = format.format(date);
3. String to Date
Java代码 收藏代码
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(strDate);
4. 时区转换
Java代码 收藏代码
String strDate = "2013-07-17 10:12:15";
String fromTimeZone = "GMT+8";
String toTimeZone = "GMT+0";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone(fromTimeZone));
Date date = format.parse(strDate);
format.setTimeZone(TimeZone.getTimeZone(toTimeZone));
strDate = format.format(date);
System.out.println(strDate);
5. 区域问题(不同的区域对时间的显示是不同的)
Java代码 收藏代码
SimpleDateFormat format1 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.SIMPLIFIED_CHINESE);
SimpleDateFormat format2 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
System.out.println(format1.format(new Date())); // 星期三 七月 17 10:57:50 CST 2013
System.out.println(format2.format(new Date())); // Wed Jul 17 10:57:50 CST 2013
6. 时间跳变
# 1582-10-04 的下一天是 1582-10-15
Java代码 收藏代码
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 1582);
calendar.set(Calendar.MONTH, 9);
calendar.set(Calendar.DAY_OF_MONTH, 4);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(format.format(calendar.getTime())); // 1582-10-04
calendar.add(Calendar.DAY_OF_MONTH, 1); // 增加一天
System.out.println(format.format(calendar.getTime())); // 1582-10-15
# 参见:http://dlc.sun.com.edgesuite.net/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/latest/html/zh_CN/api/java/util/GregorianCalendar.html
# 夏令时
Java代码 收藏代码
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 1986);
calendar.set(Calendar.MONTH, 4);
calendar.set(Calendar.DAY_OF_MONTH, 3);
calendar.set(Calendar.HOUR_OF_DAY, 23);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(calendar.getTime())); // 1986-05-03 23:46:38
calendar.add(Calendar.HOUR_OF_DAY, 1); // 增加一个小时
System.out.println(format.format(calendar.getTime())); // 1986-05-04 01:46:38(中间跳过了 00:46:38)
# 参见:http://baike.baidu.com/view/100246.htm
7. 设置 JVM 的时区
# 在JVM启动的时候,加入参数-Duser.timezone=GMT+08
# GMT, UTC 和 CST 时间的区别
# GMT 代表格林尼治标准时间;
# UTC 是比 GMT 更加精确的世界时间标准,在不需要精确到秒的情况下,通常也将GMT和UTC视作等同;
# CST 可以同时表示中国、美国、澳大利亚、古巴四个国家的标准时间;
# 参见:
#http://www.cnblogs.com/sanshi/archive/2009/08/28/1555717.html
#http://baike.baidu.com/view/42936.htm
转自http://dyccsxg.iteye.com/blog/1908607 感谢!
发表评论
-
java程序中没有错,但是项目上面显示一个红叉的解决办法
2017-11-27 09:51 3106java程序中没有错,但是项目上面显示一个红叉的解决办法 ... -
setCharacterEncoding未定义
2017-08-22 09:44 704setCharacterEncoding未定义 ... -
html,jsp页面上多个空格只显示一个空格
2017-02-28 14:48 4806维护系统发现一个用户报上来问题,发现是由于jsp页面上本来存 ... -
kindeditor无法正常加载
2016-11-08 20:13 705今天在给系统某jsp页面添加 kindeditor编辑器时 ... -
关于报表导出功能的实现
2016-08-24 11:09 883之前在老旧系统代码里摸索 看到了各种插件弄出来的导出报表 ... -
【转】项目jar包 与tomcat 自带jar 冲突
2016-08-19 15:38 1354项目中jar 与 tomcat 自带jar 冲突(catal ... -
xml型字符串解析时存在& < >符号时的解决方案
2015-07-30 15:08 1324问题产生: 在接口调用得出一个xml型字符串 ... -
SoapUI的简单应用
2015-07-01 14:55 782几个好用的学习链接 百度文库 使用soapUI对Web ... -
nosuchMethodError org.hibernate.lockmode
2015-06-09 08:28 686昨天复制项目jar整理后项目跑不起来,一直出现 nosuch ... -
java中读取配置文件的方法
2015-05-11 13:51 951一、使用org.apache.commons.configur ... -
JS展开折叠效果
2015-04-29 14:27 1047亲手试验过 经过删减 某些代码 很好用 很精简的代码 很 ... -
JVM terminated. Exit code=-1
2015-04-07 11:13 827启动Eclipse时,启不起来JVM terminated. ... -
Java中的List按照元素的属性进行排序
2014-08-21 10:52 1112主要用到: Collections.sort()方法: 1 ... -
Clob2String代码
2014-04-03 14:30 623//oracle.sql.Clob类型转换成String类型 ... -
服务器端无法获取加号(“+”)
2013-12-23 16:34 1375一个jsp通过浏览器传递参数到另外一个JSP 其中有参数带 ... -
Address already in use: JVM_Bind:8080 的解决办法
2013-08-12 10:41 1085CMD下用命令 netstat -a -n -o 最 ...
相关推荐
在Java编程中,经常需要处理与日期和时间相关的操作。其中一项常见的需求就是计算两个日期之间的差距。本篇文章将详细介绍如何在Java中计算两个日期相差几天,并深入探讨示例代码中的关键概念和技术细节。 #### ...
本文将详细介绍如何在Java中实现日期与时间的比较,包括使用`SimpleDateFormat`、`Date`、`Calendar`等类进行时间格式化和比较的方法,并通过示例代码展示具体实现过程。 #### 二、使用`SimpleDateFormat`和`Date`...
然而,有时我们可能会遇到一个常见问题,即从Java程序中获取到的时间与实际时间相差8小时,这主要是由于时区设置不正确导致的。这个问题在跨时区开发和运行应用时尤为突出。 首先,我们需要理解Java中的日期和时间...
以下是我从"学习Java必须弄懂的几个问题"这个主题中提炼出的一些重要知识点: 1. **Java基础语法**:Java是一种面向对象的语言,理解其基本语法结构至关重要。包括数据类型(如整型、浮点型、字符型和布尔型)、...
网上很多资源都没有输出结果是(相差几年几个月几天的代码)希望对大家有帮助 有不足地方 望大家多多指点
在Java编程中,`new Date()` 用于创建一个表示当前日期和时间的对象。然而,有时候开发者可能会遇到这样一个问题:使用 `new Date()` 输出的时间与系统的实际时间相差了八个小时。这种情况通常是由时区(TimeZone)...
在提供的`MobileCalendar.java`文件中,很可能是实现了一个日历功能或者与日期、时间相关的Android组件。通常,这类文件可能会包含以下几个部分: - 创建`Calendar`实例。 - 使用`DateFormat`或`SimpleDateFormat`...
Java视频剪辑涉及到的技术主要包括以下几个方面: 1. **多媒体库**:在Java中,常见的用于处理视频的库有Xuggler、JAVE(Java Advanced Video Encoder)以及FFmpeg的Java API(如JCodec)。这些库提供了处理音视频...
这些数据具有内在的时间依赖性,即当前值往往与过去的历史值有关。基于这种特性,时间序列预测方法通过识别和利用数据的模式(如趋势、季节性和周期性)来预测未来的值。 时间序列预测算法主要包括以下几种类型: ...
### 使用JS和Java返回三个月前的时间 在软件开发过程中,日期和时间的处理是一项非常常见的需求,尤其是在涉及历史数据查询、统计分析等场景时。本文将详细介绍如何使用JavaScript(JS)和Java这两种语言来实现获取...
在Java中实现时间钟,主要涉及到以下几个核心知识点: 1. **Java Swing或JavaFX**:这两个是Java的图形用户界面(GUI)库,用于创建窗口应用。Swing是Java标准版的一部分,而JavaFX则提供了更现代的UI组件和更好的...
在 Java 中计算两个日期之间的时间差是常见的需求之一,尤其是在需要处理时间序列数据的应用程序中。本文将详细介绍几种不同的方法来计算两个日期之间的差值,并提供相应的代码示例。 #### 1. 使用 `...
相对时间计算是指获取当前时间与过去或未来某个时间点之间的差异,通常以“几天前”、“几年前”这样的形式展示。Java提供了一些内置类来帮助我们进行这类计算,如`java.util.Date`、`java.util.Calendar`以及`java....
JAVA时间工具类(计算法定工作日工时):计算某个日期加上几个工作日后的一个工作日期(除周末和法定节假日),计算某个日期后一天的工作日期(除周末和法定节假日),计算两个日期的真实工作日(除周末和法定节假日),...
Java时间轮定时器是一种高效的定时任务管理工具,其设计灵感来源于计算机网络中的分桶调度算法。时间轮的主要思想是将时间划分为多个槽,每个槽代表一段时间间隔,定时任务则被分配到相应的槽中,通过轮询的方式实现...
java计算两个时间(yyyy-MM-dd HH:mm:ss)相差月数两个时间格式可为年月日时分秒
在 Java 中,`Calendar` 和 `Date` 是两个不同的时间类型。`Calendar` 是一个抽象类,提供了对日期和时间的操作,而 `Date` 是一个具体的时间类型,表示一个特定的日期和时间。 (1) Calendar 转化为 Date 可以使用...
在使用Java API文档时,开发者通常会关注以下几个方面: 1. 类(Class):了解类的职责、构造器、属性和方法。 2. 接口(Interface):查看接口定义的方法,了解其作用和实现方式。 3. 方法(Method):理解方法的...
到底创建了几个String对象(三)——变量(属性)的覆盖 (四)——final、finally和finalize的区别 (五)——传了值还是传了引用(六)——字符串(String)杂谈 (七)——日期和时间的处理 (八)——聊聊基本...
在Java编程语言中,处理时间与日期是常见的需求,无论是记录事件发生的时间,还是进行时间相关的计算,都离不开对日期和时间的操作。本教程将深入探讨如何在Java中实现这样的程序,并提供源代码实例。 首先,Java...