乱数、1995年1月1日から1995年12月31日00:00:00に23:59:59の間のランダムな日付を作成します
:アプリケーションの知識別に文字列とDateオブジェクト、乱数の使用、フォーマットされた出力Dateオブジェクト。
1 パッケージ日付;
2
3 インポートjava.util.Date。
4 インポート java.text.ParseException。// 字符串转日对象
5 輸入 java.text.SimpleDateFormatの。// 日期格式
6
7 パブリック クラスTestDate {
8 パブリック 静的 ボイドメイン(文字列[]引数){
9 日D1 = 新しい日付();
10 日D2 = 新しい日付();
11 のSimpleDateFormat SDF = 新しいてSimpleDateFormat( "YYYY.MM.DD HH:MM:SS")。// SDFこと日付フォーマットを作成し
12である 文字列STR1 = "1995年1月1日夜十二時00分00秒" 、
13は 文字列STR2 = "1995年12月31日午前23時59分59秒" ;
14 試み{
15 D1 = sdf.parse(0009) ; // 文字列の日付オブジェクトの回転
16 } キャッチ(はParseException E1){
17。 // TODO自動生成されたブロックのキャッチ
18は e1.printStackTrace();
19 }
20は、 トライ{
21は D2 = sdf.parse(STR2); // 文字日付オブジェクト転送列
22は } キャッチ(はParseException E){
23は、 // TODO自動生成されたブロックのキャッチ
24 e.printStackTrace();
25 }
26である のSystem.out.println(+ d1.toString "から"()+ "スタート" + "\ nは"(+ d2.toString) + "アップ" );
27 System.out.printの( "違い何ミリ秒:" );
28 のSystem.out.println(d2.getTime() - d1.getTime());
29
30 ロング X1 = d2.getTime( ;)-d1.getTime()// getTime()が長いタイプで得られる
31で ロング - (d2.getTime()* X2 =恐らくMath.round(Math.random();)d1.getTime())
32
33である システム.out.print( "のランダムいずれかを取る:" );
34 System.out.println(X2);
35
36 日付D = 新しい新 A日(X2 + d1.getTime()); // 独自の開始時刻D1追加
37 [ 文字列STR = sdf.format(D); // 日文字列にオブジェクト
38がある :(+「ランダムに生成された日付」のSystem.out.println ; STR)
39 この間のSystem.out.println(「『1』として全体の時間、ランダムに生成された日付位置: "+ String.Formatの(" %2F」(ダブル)X2 / X1));
40
41は
42である }
43です }
結果は: