【オリジナル転載】javaは2時間の間隔を計算する

3861 ワード

1.2つの時間の間隔をどのように計算しますか?
間隔=Date 1.getTime()-Date2.getTime();得られたのはミリ秒数だ.
1000を除いては秒、60を除いては分、60を除いては時間…………
Java標準ライブラリのすべての時間クラスがこれに基づいて変換されたことを覚えておいてください.ただ、彼はいくつかのことを書いただけです.
転化の方法を君に使っただけだ.しかし、このミリ秒数に基づいている.
2.
 t=Calendar.getInstance();m=t.get(t.MONTH)+1;

ここはどうして1つ追加しますか?
Java言語ではdateのmonthの値範囲は0~11であり,人々の自然表現とは1つ異なる.
3.システム時間と現在の日付の違い
システム時間は正確には
System.currentTimeMillis();
新Date()は現在の日付ですが、getTime()です.システムとcurrentTimeMillis();
同じだがシステムcurrentTimeMillis();
4.2つの日付の日数差をどのように計算しますか?
long beginTime = beginDate.getTime();
long endTime2 = endDate.getTime();
long betweenDays = (long)((endTime - beginTime) / (1000 * 60 * 60 *24) + 0.5); 

これは2つの日付です.もし間の日数差があったら、時間を計算します.
String date1 = "1987-01-01";
		String date2 = "2010-01-01";
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
		Date d1 = sdf.parse(date1);
		Date d2 = sdf.parse(date2);
		long daysBetween = (d2.getTime() - d1.getTime() + 1000000)	/ (3600 * 24 * 1000);
		System.out.println("1987-01-01   2010-01-01    " + daysBetween + "  ");
これはただ日付を計算して時間を計算しません
5.日付と時刻の比較方法
1つ目の方法:
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)){
//......
} 

第2の方法
Date nowDate=new Date();//    \r
long nowTime=nowDate.getTime;
long lastTime=userTime.longValue();//     \r
long time=nowTime-lastTime;//      。
if(time>(long)60000)//1  {}

また、以下の参照もできます.
タイムスタンプでgetTime()は現在の時間をタイムスタンプに変更できます.
CompareTo();
before(),after(),equals();
6.フォーマット日の問題r
目的:
最初の日付
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd");
String riqi=formatter.format(currentTime_1); 

第2回は時間を求めます
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));

8.前月の日付
Calendar calendar = Calendar.getInstance(); 
calendar.add(Calendar.DATE,0);//      (      -1)
calendar.add(Calendar.MONTH, -1);//      
Date date=calendar.getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
CharSequence time = dateFormat.format(date);