初識javaDate與字串

2021-08-03 15:55:40 字數 1971 閱讀 8060

今天天氣不錯

有個任務:有若干訂單的訂單服務開始和結束時間,給出所有已占用的時間段的起止時間;就是時間段取並集

時間型別date,它有很多成員變數和方法

在某個類裡定義乙個date型別的成員變數,你給它打標籤:

@datetimeformat

(pattern = "yyyy-mm-dd hh:mm:ss"),那它就以這種樣子呈現在你眼前(介面中或者資料庫中)。但這並不是說,它就是乙個這種格式的字串啊~~~要搞搞清楚喲,它仍然是乙個date型別的變數。你可以用date的各種方法獲取年、月、日、時、分、秒,你也可以通過它的好********dateformat來將它轉換成其他各種格式。

比如:date轉為字串:

date date = new date();

******timeformat fmt = new ******timeformat("yyyy-mm-dd");

string datestring = fmt.format(date);

記住:這裡時間轉string是fmt.format喲~

當然也可以用各種格式的時間字串,以及匹配的******timeformat的格式,將時間字串,轉換成date

比如:******dateformat fmt2 = new ******dateformat("yyyy-mm-dd hh:mm:ss");

date testdate = f

mt2.parse("2017-07-10 19:53:21");

這個testdate就是date啦,就是時間戳了喲~  就是這麼簡單!

好了回到我今天的任務上來:

如果某天有任意時間被占用,那這天的全部時間就全部不可再使用;每個訂單的起始時間會有重複~

我的做法:

先取到所有時間的日期(yyyy-mm-dd)格式,並儲存到乙個hashset中,讓hashset幫我去重~

如果某個時間段是綿延很多天的,比如,10號的7點到17號的17點~

那,就要除了遍歷整個時間段list之外,對每乙個時間段節點,都要按天加一來再迴圈一次,以找出每一天的時間了~

setdatestring = new hashset();

for(timeduration t : timelist) }}

忘了說了,timeduration是這樣的結構:

public

class timeduration

public

void setorderstarttime(date orderstarttime)

public date getorderendtime()

public

void setorderendtime(date orderendtime)

}其實,取時間的並集,還有這樣一種方法:

設已有時間段 開始時間s0,結束時間e0;待取並集的時間段開始時間s1,結束時間e1;

它們的並集就是

1. if(s1.gettime > e0.gettime || e1.gettime < s0.gettime)//就是,開始時間晚於原先的

結束時間,或者結束時間早於原先的開始時間。畫個圖嘛,這說明,兩端時間完全沒有交集,因此,並集就簡單相加好了,原來的list加乙個節點就好

2.只要不是第一種情況,那就說明有並集,有一塊重合的時間,那就要這麼處理了:

這種情況下,原來的list不需要增加新節點,把乙個原來的節點擴充下範圍就好

這樣,每當有乙個新的時間段來的時候,要將這個時間段和原先的list中的節點依次比較,增加乙個新節點,或者擴充乙個原有節點

然後,等所有新節點都處理完,遞迴處理這個新的list,把每乙個元素,插入到剩下的元素中去,防止新插入的節點,將某兩段時間連線了起來嘛~

好啦,就是這麼個思路~ 很簡單喲~

引申任務:計算事件的時間分布情況,即某個時間段事情的發生頻率

差不多嘛,開動腦筋想一想,啦啦啦

希望這篇毫無邏輯的「想哪說哪」文章不要被任何人看到。。。。。。

初識字串

什麼是字串?字串就是有限個字元的序列,比如 this is a string 關於字串的表達方式,有三種,包括 以三個雙引號或單引號開頭的字串可以折行 比如 s3 可以隨便跨行,通過使用 是轉義符,用來表達原本的意思,比如 print 也可以通過 八進位制或者十六進製制數以及unicode編碼來表示...

初識C語言 字串

3.2 用指標 4.字串可直接輸出 1 由雙引號 double quote 引起來的一串字元稱為字串字面值 string literal 或者簡稱字串。eg hello world 2 字串在結束時預設有 轉義字元 0 不作為內容,作為結束標誌。3 c語言無字串型別,需借助 char char 即指...

初識Java(Java字串 獲取字串資訊

字串作為物件,可通過相應的方法獲取字串的有效資訊,如獲取某字串的長度 某個索引位置的字元等。1.1 獲取字串的長度 使用 string 類的 length 方法可獲取宣告的字串物件的長度。語法 str.length str 字串物件 int size str.length 將字串 str 的長度賦值...