日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

java基础--日期--练习集锦

發(fā)布時(shí)間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java基础--日期--练习集锦 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目1 --日期

借助隨機(jī)數(shù),創(chuàng)建一個(gè)從1995.1.1 00:00:00 到 1995.12.31 23:59:59 之間的隨機(jī)日期

package date;import java.util.Date;public class TestDate {public static void main(String[] args) {long second = 1000;long minute = 60*second;long hour = minute * 60;long day = hour*24;long year = day * 365;long year1995Start  = (1995-1970) * year;long leapDay = (1995-1970)/4*day; //每隔4年有一個(gè)潤(rùn)日year1995Start+=leapDay;long eightHour = hour*8; //8個(gè)小時(shí)的毫秒數(shù),因?yàn)閺?毫秒對(duì)應(yīng)的是1970.1.1 08:00:00year1995Start-=eightHour;Date dStart = new Date(year1995Start);System.out.println("1995年第一天:"+dStart);long year1995End = year1995Start + year - 1;Date dEnd = new Date(year1995End);System.out.println("1995年最后一天:"+dEnd);long randomTime = (long) (Math.random()*(year-1) + year1995Start);Date dRandom = new Date(randomTime);System.out.println("1995年這一年中的一個(gè)隨機(jī)時(shí)間:" + dRandom);}
}

筆記

SimpleDateFormat sdf =new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" );
String str = "2016/1/5 12:12:12";
Date d = sdf.parse(str);
字符串對(duì)象有一個(gè)parse(str) 可以轉(zhuǎn)成Date 對(duì)象

Date對(duì)象轉(zhuǎn)字符串:
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );
Date d= new Date();
String str = sdf.format(d);

題目2--日期格式化

準(zhǔn)備一個(gè)長(zhǎng)度是9的日期數(shù)組
使用1970年-2000年之間的隨機(jī)日期初始化該數(shù)組
按照這些日期的時(shí)間進(jìn)行升序排序
比如 1988-1-21 12:33:22 就會(huì)排在 1978-4-21 19:07:23 前面,因?yàn)樗臅r(shí)間更小,雖然日期更大

package date;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class TestDate {public static void main(String[] args) {int yearStart = 1970;int yearEnd = 2000;Date[] ds = new Date[9];for (int i = 0; i < ds.length; i++) {ds[i] = getRandomDate(yearStart, yearEnd);}System.out.println("得到的隨機(jī)日期數(shù)組:");for (int i = 0; i < ds.length; i++) {System.out.print(toString(ds[i])+"\t");if(2==i%3)System.out.println();}//選擇法排序for (int j = 0; j < ds.length-1; j++) {for (int i = j+1; i < ds.length; i++) {String strTimeI = toString(ds[i],"HHmmss");String strTimeJ = toString(ds[j],"HHmmss");int lTimeI = Integer.parseInt(strTimeI);int lTimeJ = Integer.parseInt(strTimeJ);if( lTimeI<lTimeJ  ){  Date temp = ds[j];ds[j] = ds[i];ds[i] = temp;}}}      System.out.println("排序后的隨機(jī)日期數(shù)組:");for (int i = 0; i < ds.length; i++) {System.out.print(toString(ds[i])+"\t");if(2==i%3)System.out.println();}}public static String toString(Date d) {return toString(d, "yyyy-MM-dd HH:mm:ss");}public static String toString(Date d, String format) {SimpleDateFormat sdf = new SimpleDateFormat(format);return sdf.format(d);}private static Date getRandomDate(int yearStart, int yearEnd) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy");try {Date dStart = sdf.parse(String.valueOf(yearStart)); // 1970Date dEnd = sdf.parse(String.valueOf(yearEnd + 1)); // 2001 不是 2000,要在2001的基礎(chǔ)上減少以毫秒,才表示2000最后一刻long timeStart = dStart.getTime();long timeEnd = dEnd.getTime() - 1;long timeRandom = (long) (timeStart + Math.random() * (timeEnd - timeStart));return new Date(timeRandom);} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}
}

筆記:可以通過(guò)日歷對(duì)象得到日期對(duì)象

//采用單例模式獲取日歷對(duì)象Calendar.getInstance();
Calendar c = Calendar.getInstance();

    //通過(guò)日歷對(duì)象得到日期對(duì)象Date d = c.getTime();

日期對(duì)象
add方法,在原日期上增加年/月/日
set方法,直接設(shè)置年/月/日

題目3--Calendar

找出下個(gè)月的倒數(shù)第3天是哪天

package date;import java.text.SimpleDateFormat;
//
import java.util.Calendar;
import java.util.Date;public class TestDate {private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");public static void main(String[] args) {Calendar c = Calendar.getInstance();System.out.println("今天是:" + format( c.getTime()));//先翻到下下個(gè)月c.add(Calendar.MONTH,2);//設(shè)置到月初c.set(Calendar.DATE,1);//再往回翻3天c.add(Calendar.DATE,-3);Exception e;System.out.println("下個(gè)月倒數(shù)第三天是:" + format(c.getTime()));}private static String format(Date time) {return sdf.format(time);}
}

轉(zhuǎn)載于:https://www.cnblogs.com/czy16/p/8963488.html

總結(jié)

以上是生活随笔為你收集整理的java基础--日期--练习集锦的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。