❶ java中計算兩個時間相差多少分鍾
java中計算兩個時間相差多少分鍾,具體代碼如下:
public static String getDatePoor(Date endDate, Date nowDate) {
long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60;
long nm = 1000 * 60;
// long ns = 1000;
// 獲得兩個時間的毫秒時間差異
long diff = endDate.getTime() - nowDate.getTime();
// 計算差多少天
long day = diff / nd;
// 計算差多少小時
long hour = diff % nd / nh;
// 計算差多少分鍾
long min = diff % nd % nh / nm;
// 計算差多少秒//輸出結果
// long sec = diff % nd % nh % nm / ns;
return day + "天" + hour + "小時" + min + "分鍾";
}
data默認有toString()
輸出格林威治時間,比如說Date date = new Date();
String toStr = date.toString();
(1)javadiff演算法擴展閱讀
Java語言的優良特性使得Java應用具有無比的健壯性和可靠性,這也減少了應用系統的維護費用。Java對對象技術的全面支持和Java平台內嵌的API能縮短應用系統的開發時間並降低成本。
Java的編譯一次,到處可運行的特性使得它能夠提供一個隨處可用的開放結構和在多平台之間傳遞信息的低成本方式。特別是Java企業應用編程介面(Java Enterprise APIs)為企業計算及電子商務應用系統提供了有關技術和豐富的類庫。
1、JDBC(Java Database Connectivity)提供連接各種關系資料庫的統一介面。
2、EJB(Enterprise JavaBeans)使得開發者方便地創建、部署和管理跨平台的基於組件的企業應用。
3、Java RMI(Java Remote Method Invocation)用來開發分布式Java應用程序。一個Java對象的方法能被遠程Java虛擬機調用。這樣,遠程方法激活可以發生在對等的兩端,也可以發生在客戶端和伺服器之間,只要雙方的應用程序都是用Java寫的。
4、Java IDL(Java Interface Definition Language) 提供與CORBA(Common Object Request Broker Architecture)的無逢的互操作性。這使得Java能集成異構的商務信息資源。
5、JNDI(Java Naming and Directory Interface)提供從Java平台到的統一的無逢的連接。這個介面屏蔽了企業網路所使用的各種命名和目錄服務。
6、JMAPI(Java Management API)為異構網路上系統、網路和服務管理的開發提供一整套豐富的對象和方法。
7、JMS(Java Message Service)提供企業消息服務,如可靠的消息隊列、發布和訂閱通信、以及有關推拉(Push/Pull)技術的各個方面。
8、JTS(Java transaction Service)提供存取事務處理資源的開放標准,這些事務處理資源包括事務處理應用程序、事務處理管理及監控。
❷ Diff演算法
Diff演算法的作用是用來計算出 Virtual DOM 中被改變的部分,然後針對該部分進行原生DOM操作,而不用重新渲染整個頁面。
Diff演算法有三大策略:
三種策略的執行順序也是順序依次執行。
Tree Diff 是對樹每一層進行遍歷,找出不同,如圖1所示。
Component Diff 是數據層面的差異比較
Element Diff 真實DOM渲染,結構差異的比較
首先進行第一層比較,第一層都是R,不發生變化;然後進入第二層Component Diff,發現A組件沒有,則刪除A及其子組件B、C;最後比較第三層,創建A及其子組件B、C。
當節點處於同一層級時,Diff提供三種DOM操作: 刪除 、 移動 、 插入 。
如圖2所示,首先將OldVnode 和 NewVnode的首尾位置分別標記為oldS、oldE、newS、newE。
(1) oldS和newS相同,不發生變化,oldS++,newS++。
(2) newS與OldVnode不匹配,oldS前面插入f,newS++。
(3) newS與oldE相同,oldE移動到oldS前面,newS++,oldE--。
(4) newE與oldE相同,不發生變化,newE--,oldE--。
(5) 都不相同,oldS前插入newE,刪除oldS,oldS++,newS++,newE--,oldE--。
(6) oldS > oldE,Diff結束,最後結果為:a、f、d、e、c。
最後附上核心源碼分析:
patch
這個函數做了以下事情:
updateChildren
上一篇 虛擬DOM : https://www.jianshu.com/p/580157c93c53
❸ java計算兩個日期相差多少天小時分鍾等
Date d=new Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("今天的日期:"+df.format(d));
System.out.println("兩天前的日期:" + df.format(new Date(d.getTime() - (long)2 * 24 * 60 * 60 * 1000)));
System.out.println("三天後的日期:" + df.format(new Date(d.getTime() + (long)3 * 24 * 60 * 60 * 1000)));