Joda DateTime常用方法

2021-09-24 22:51:57 字數 4030 閱讀 2515

1、將字串轉換為時間

datetimeformatter forpattern = datetimeformat.forpattern(「yyyy-mm-dd」);

datetime datetime=forpattern.parsedatetime(「2018-01-01」);

format = datetimeformat.forpattern(「yyyy年mm月dd日 hh:mm:ss」);

datetime=forpattern.parsedatetime(「2023年01月01日 23:25:35」);

2、將時間轉換為字串

datetime datetime=new datetime();

string datestring = datetime.tostring(「yyyymmdd」);

datetimeformatter forpattern = datetimeformat.forpattern(「yyyy年mm月dd日 hh:mm:ss」);

datestring=forpattern.print(datetime);

3、得到任何日期所在周的第一天與最後一天

datetime datetime=new datetime();

// 一周的開始日期

string monday= datetime.dayofweek().withminimumvalue().tostring(「yyyymmdd」);

// 一周的結束日期

string sunday= datetime.dayofweek().withmaximumvalue().tostring(「yyyymmdd」);

4、得到任何日期所在月的第一天與最後一天

datetime datetime=new datetime();

string first= datetime.dayofmonth().withminimumvalue().tostring(「yyyymmdd」);

string last= datetime.dayofmonth().withmaximumvalue().tostring(「yyyymmdd」);

5、得到任何日期所在年的第一天與最後一天

datetime datetime=new datetime();

string first= datetime.dayofyear().withminimumvalue().tostring(「yyyymmdd」);

string last= datetime.dayofyear().withmaximumvalue().tostring(「yyyymmdd」);

6、加減年、月、周、天、時、分、秒、毫秒

datetime datetime=new datetime();

//加一年

datetime.plusyears(1);

//加一月

datetime.plusmonths(1);

//加一周

datetime.plusweeks(1);

//加一天

datetime.plusdays(1);

//加一小時

datetime.plushours(1);

datetime.plusminutes(1);

datetime.plusseconds(1);

datetime.plusmillis(1);

//減去一年

datetime.minusyears(1);

//減去加一月

datetime.minusmonths(1);

……7、得到上一周的星期一與星期天、下一周的星期一與星期天

datetime datetime=new datetime();

datetime previousmonday= datetime.dayofweek().withminimumvalue().minusweeks(1);

datetime previoussunday= datetime.dayofweek().withmaximumvalue().minusweeks(1);

datetime nextmonday= datetime.dayofweek().withminimumvalue().plusweeks(1);

datetime nextsunday= datetime.dayofweek().withmaximumvalue().plusweeks(1);

8、得到上乙個月的第一天與最後一天、下乙個有的第一天與最後一天

datetime datetime=new datetime();

string previousfirstday= datetime.dayofyear().withminimumvalue().minusmonths(1).tostring(「yyyymmdd」);

string previouslastday= datetime.dayofyear().withmaximumvalue().minusmonths(1).tostring(「yyyymmdd」);

string nextfirstday= datetime.dayofyear().withminimumvalue().plusmonths(1).tostring(「yyyymmdd」);

string nextlastday= datetime.dayofyear().withmaximumvalue().plusmonths(1).tostring(「yyyymmdd」);

9、計算兩個日期相差多少天、相差多少月、相差多少年

datetime nextfirstday= datetime.dayofyear().withminimumvalue().plusmonths(1);

datetime nextlastday= datetime.dayofyear().withmaximumvalue().plusmonths(1);

int days = days.daysbetween(nextfirstday, nextlastday).getdays();

int months = months.monthsbetween(nextfirstday, nextlastday).getmonths();

int years =years.yearsbetween(nextfirstday, nextlastday).getyears();

10、計算某個月份的第乙個星期二

datetime now =new datetime();

string date=now.monthofyear()

.setcopy(10) // 10月

.dayofmonth()

.withminimumvalue() // 10月第一天

.plusdays(6) // 加6天

.dayofweek()

.setcopy(2) //第乙個星期二

.tostring(「yyyy-mm-dd」);

11、判斷閏年、閏月

datetime now =new datetime();

boolean leapyear = now.year().isleap();

boolean leapmonth = now.monthofyear().isleap();

12、取得一天的開始時間和結束時間

datetime now = new datetime();

string formatter=「yyyy-mm-dd hh:mm:ss」;

string starttime = now.withtimeatstartofday().tostring(formatter);

string endtime = now.millisofday().withmaximumvalue().tostring(formatter);

public static void main(string args) ).collect(collectors.tolist());

// 取最大值

optionalmax = collect.stream().max((dd1, dd2) -> );

system.out.println(max);

}

joda datetime測試心得

有些業務邏輯是基於時間的,測試起來比較麻煩,如果用joda datetime就很容易了 比如 在new report中有這樣的邏輯 public report double energytotal,double outputenergy,double outputpower,string clien...

selenium webdriver 常用方法

1 獲得頁面的原始碼 driver.get source code driver.getpagesource 如果想將獲得的網頁原始碼儲存成檔案的話 f open r c html source code.html w f.write source code.encode utf 8 f.close...

ConcurrentHashMap 常用方法

void clear 從該對映中移除所有對映關係 boolean containskey object key 測試指定物件是否為此表中的鍵。boolean containsvalue object value 如果此對映將乙個或多個鍵對映到指定值,則返回 true。enumeration elem...