1. Date
# 需要说明的是 Date 无时区,
# 但date.toString() 则是按当前 JVM 的默认时区来格式化的,也就是 TimeZone.getDefault() 获得的时区,
# 同时 date.toString() 是按照 "EEE MMM dd HH:mm:ss zzz yyyy" 来格式化的;
2. Date to String
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String strDate = format.format(date);
3. String to Date SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(strDate);
4. 时区转换 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. 区域问题(不同的区域对时间的显示是不同的)
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
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
# 夏令时
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.htm7. 设置 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
分享到:
相关推荐
java中计算两个日期相差几天 1.public class Test { 2.public void dateDiff(String startTime, String endTime, String format) { 3.//按照传入的格式生成一个simpledateformate对象 4.SimpleDateFormat sd = ...
网上很多资源都没有输出结果是(相差几年几个月几天的代码)希望对大家有帮助 有不足地方 望大家多多指点
JAVA时间工具类(计算法定工作日工时):计算某个日期加上几个工作日后的一个工作日期(除周末和法定节假日),计算某个日期后一天的工作日期(除周末和法定节假日),计算两个日期的真实工作日(除周末和法定节假日),...
到底创建了几个String对象(三)——变量(属性)的覆盖 (四)——final、finally和finalize的区别 (五)——传了值还是传了引用(六)——字符串(String)杂谈 (七)——日期和时间的处理 (八)——聊聊基本...
使用js和java的两种方法返回三个月前的具体时间,显示的格式有年月日和年月两种格式。
经常在网上搜东西都搜不到,更有人上传点没用了,现在我解决了就把解决方法上传上吧.
一、访问量与响应时间统计工具。 1、能让你知道当前服务上的接口单位时间内访问量是多少,总的响应时间是多少 2、通过1里的数据,你能知道哪个接口反应慢,如果服务假死,能根据它来快速判断哪些接口搞死了服务...
时间和日期中常用到的几个类: java.util.Date, java.util.Calendar, java.util.GregorainCalendar, java.text.DateFormat, java.text.SimpleDateFormat
java时间差java时间差java时间差java时间差
利用Java编写的几种经典问题算法: 1.设a[0:n-1]是一个有n个元素的数组,k(0)是一个非负整数。 试设计一个算法将子数组a[0:k]与a[k+1,n-1]换位。要求算法在最坏情况下耗时O(n),且只用到O(1)的辅助空间。 2.在一个...
在某个时间基础上,往前推或者往后推几个年,返回[年-月-日]格式的日期;判断时间是否在时间段内;获取某年最后一天日期;在原日期的基础上增加/减少小时数;获取年份中的天数;如果当前时间是节假日,返回下一个...
功能说明:java视频剪辑,可按时间将视频截取为子视频。 使用说明:解压导入eclipse后执行main方法即可。
java中,计算一个月总共有几天工作日,和都有哪天是工作日等问题。
获取SimpleDateFormat 获取日期中的某数值。如获取月份 增加日期中某类型的某数值。如增加日期 获取精确的日期 判断字符串是否为日期字符串 ...两个时间相差距离中文描述 。 比较两个时间的大小。
Java 根据用户指定的某年某月某日,判断这一天是一年中的第几天,具体思路是:以3月5日为例,应该先把前两个月的加起来,然后再加上5天...这是一个比较常见的Java时间操作技巧,进行简单的时间计算,平时用的比较多哦。
Java 计算两个日期之间相差的月数 Java 计算两个日期之间相差的月数
一个简单的java库用于将显示日期格式化成几分钟,几天之前这样的格式
java日期时间工具类超级全。其中包含:获得当前日期 yyyy-MM-dd HH:mm:ss;获取系统当前时间戳;获取当前日期 yy-MM-dd;得到两个时间差 格式yyyy-MM-dd HH:mm:ss;转化long值的日期为yyyy-MM-dd HH:mm:ss.SSS格式的...
java获取今天、昨天、近一周、近两周、近三周、近一月、近两月、近三月、近半年、本周、上周、本月、上月时间段
用于计算两个时间的差值,非常实用!