@温故知新 之 java时间类
2008-04-25 14:21
190 查看
主要牵涉到Date 、DateFormat 、 Calendar三个类
1. 怎样计算两个时间之间的间隔?
间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数.
除1000是秒,再除60是分,再除60是小时..............................
记住java标准库中任何时间类都以此为基础转化的,只是他写好了一些
转化的方法给您用而已.但都离不开这个毫秒数为基础.
2. t=Calendar.getInstance();m=t.get(t.MONTH)+1;这里为什么要加一?
在java语言里,date的month的取值范围是:0~11,和人们的自然表达上相差1。
3. 系统时间和当前日期的区别?
系统时间确切的说应该是
System.currentTimeMillis();
new Date()是当前日期,虽然他getTime();和System.currentTimeMillis();
相同,但System.currentTimeMillis();
4. 如何计算两个日期的天数差值?
long beginTime = beginDate.getTime();
long endTime2 = endDate.getTime();
long betweenDays = (long)((endTime - beginTime) / (1000 * 60 * 60 *24) + 0.5);
5. 如何比较日期时间大小?
第一种方法:
use Calendar object to compare
java.util.Calendar class can be used to compare date. In order to do this,
you guy should parse that string into int year, month, day and construct a
Calendar object, and then do comparison.
Below is a sample
StringTokenizer token = new StringTokenizer(your string,"-");
int year = Integer.parseInt(token.nextToken());
int month = Integer.parseInt(token.nextToken());
int day = Integer.parseInt(token.nextToken());
Calendar date = Calendar.getInstance();
date.set(year,month,day);
Calendar today = Calendar.getInstacne();
if(date.after(today)){
//......
}
第二种方法
Date nowDate=new Date();//当前时间/r
long nowTime=nowDate.getTime;
long lastTime=userTime.longValue();//以前的时间/r
long time=nowTime-lastTime;//时间相减比较。
if(time>(long)60000)//1分钟{}
另外可用以下参考
用时间戳,Date.getTime()能够把当前时间改成时间戳,
用CompareTo();
用before(),after(),equals();
6. 格式化日期的问题/r
目的:
第一次求日期
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd");
String riqi=formatter.format(currentTime_1);
第二次求时间/r
java.text.DateFormat format1 = new java.text.SimpleDateFormat("hhmmss");
java.util.Date currentTime_2 = new java.util.Date();
String shijian=format1.format(currentTime_2);
得到的结果是
2002-02-19和115324(11点53分24秒)
实现:
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd-H-mm-ss");
java.util.Date currentTime_1 = new java.util.Date();
String str_date = formatter.format(currentTime_1);
StringTokenizer token = new StringTokenizer(str_date,"-");
String year = token.nextToken();
String month= token.nextToken();
String day = token.nextToken();
String hh = token.nextToken();
String mm = token.nextToken();
String ss = token.nextToken();
String riqi=year+"年//"+month+"月"+day+"日"+" "+hh+"点//"+mm+"分"+ss+"秒//";
String newdir=year+month+day;
String wenjian = hh+mm+ss;
7. 怎么得到一个月的天数?
java.util.Calendar date = java.util.Calendar.getInstance();
System.out.println(date.getActualMaximum(date.DAY_OF_MONTH));
下面转入正题:
1. 怎样计算两个时间之间的间隔?
间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数.
除1000是秒,再除60是分,再除60是小时..............................
记住java标准库中任何时间类都以此为基础转化的,只是他写好了一些
转化的方法给您用而已.但都离不开这个毫秒数为基础.
2. t=Calendar.getInstance();m=t.get(t.MONTH)+1;这里为什么要加一?
在java语言里,date的month的取值范围是:0~11,和人们的自然表达上相差1。
3. 系统时间和当前日期的区别?
系统时间确切的说应该是
System.currentTimeMillis();
new Date()是当前日期,虽然他getTime();和System.currentTimeMillis();
相同,但System.currentTimeMillis();
4. 如何计算两个日期的天数差值?
long beginTime = beginDate.getTime();
long endTime2 = endDate.getTime();
long betweenDays = (long)((endTime - beginTime) / (1000 * 60 * 60 *24) + 0.5);
5. 如何比较日期时间大小?
第一种方法:
use Calendar object to compare
java.util.Calendar class can be used to compare date. In order to do this,
you guy should parse that string into int year, month, day and construct a
Calendar object, and then do comparison.
Below is a sample
StringTokenizer token = new StringTokenizer(your string,"-");
int year = Integer.parseInt(token.nextToken());
int month = Integer.parseInt(token.nextToken());
int day = Integer.parseInt(token.nextToken());
Calendar date = Calendar.getInstance();
date.set(year,month,day);
Calendar today = Calendar.getInstacne();
if(date.after(today)){
//......
}
第二种方法
Date nowDate=new Date();//当前时间/r
long nowTime=nowDate.getTime;
long lastTime=userTime.longValue();//以前的时间/r
long time=nowTime-lastTime;//时间相减比较。
if(time>(long)60000)//1分钟{}
另外可用以下参考
用时间戳,Date.getTime()能够把当前时间改成时间戳,
用CompareTo();
用before(),after(),equals();
6. 格式化日期的问题/r
目的:
第一次求日期
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd");
String riqi=formatter.format(currentTime_1);
第二次求时间/r
java.text.DateFormat format1 = new java.text.SimpleDateFormat("hhmmss");
java.util.Date currentTime_2 = new java.util.Date();
String shijian=format1.format(currentTime_2);
得到的结果是
2002-02-19和115324(11点53分24秒)
实现:
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd-H-mm-ss");
java.util.Date currentTime_1 = new java.util.Date();
String str_date = formatter.format(currentTime_1);
StringTokenizer token = new StringTokenizer(str_date,"-");
String year = token.nextToken();
String month= token.nextToken();
String day = token.nextToken();
String hh = token.nextToken();
String mm = token.nextToken();
String ss = token.nextToken();
String riqi=year+"年//"+month+"月"+day+"日"+" "+hh+"点//"+mm+"分"+ss+"秒//";
String newdir=year+month+day;
String wenjian = hh+mm+ss;
7. 怎么得到一个月的天数?
java.util.Calendar date = java.util.Calendar.getInstance();
System.out.println(date.getActualMaximum(date.DAY_OF_MONTH));
下面转入正题:
相关文章推荐
- 非常有用的Java日期时间操作函数代码一览
- Java中的日期和时间
- Java中java.util.Date时间和java.sql.Date时间的转化
- Java数组排序(插入,选择,冒泡)+显示排序时间
- Java-对系统时间进行的操作
- 谁能告诉我怎么把JAVA学好~时间又短!谢谢了!!!
- java中一个String型时间转换成JAVA.SQL.DATE型时间在添加到SQL Server中的datetime型字段里(
- 关于时间,日期,星期,月份的算法(Java中Calendar的用法)(一)
- java中与时间有关的一些常用方法
- java无法转化时间问题
- 【温故知新-Java虚拟机篇】1.内存模型
- java8新的时间日期库及使用示例
- JAVA中获取当前系统时间
- (前端开发)java获得当前时间和第二天时间
- java获得windows系统时间有误的解决方案
- java时间处理工具类--DateUtils
- Java时间日期
- 【Java】从网络获取北京时间
- java获取当前时间
- MySql与Java的时间类型