我在eclipse上運行一個web應用程序。在這個Web應用程序中,我想將當前日期和時間設置爲24/11/1992。 00:00格林尼治標準時間。在此之後,我希望應用程序自動增加時間並記錄日期,月份和年份。有什麼辦法可以在Java/JSP中做到這一點?在Java中維護一個單獨的應用程序時間?
1
A
回答
3
,可以儲存「真正的當前時間」和「過去的當前時間」之間的區別,並要檢查過去的時間裏,每次做減法:
final class Past {
private final long differenceMs;
public Past(final Date pastDate) {
this.differenceMs = (System.currentTimeMillis() - pastDate.getTime());
}
public Date getUpdatedPastDate() {
return new Date(System.currentTimeMillis() - differenceMs);
}
}
class Test {
public static void main(String[] args) throws Throwable {
final Calendar cal = Calendar.getInstance();
cal.set(1992, 10, 24, 0, 0, 0); // this is 24/11/1992
final Past past = new Past(cal.getTime());
System.out.println(past.getUpdatedPastDate());
Thread.sleep(2000);
System.out.println(past.getUpdatedPastDate());
}
}
兩個println
應打印像Tue Nov 24 00:00:00 BRST 1992
和Tue Nov 24 00:00:02 BRST 1992
(取決於您的區域設置)。
沒有必要「自動遞增」,沒有多線程,類是不可變的(因此本質上是線程安全的)並且非常非常乾淨。
+0
非常感謝。該解決方案完美運作 –
相關問題
- 1. 如何在iOS應用程序中維護單個try catch塊
- 2. 維護php和java應用程序之間的會話/連接
- 3. 維護應用程序
- 4. 如何在單個Android應用程序中維護兩個不同的版本
- 5. 如何爲我的Android應用程序維護單獨的生產設置?
- 6. 如何爲32位和64位應用程序維護單獨的PATH變量?
- 7. 在維護期間更改Java EE應用程序的歡迎頁面
- 8. 同時維護和部署應用程序的兩個版本
- 9. 在維護期間禁用symfony應用程序
- 10. 應用程序還活着時,我應該維護一個連接的GoogleApiClient嗎?
- 11. CoreData應用程序的維護
- 12. 維護應用程序的變體
- 13. 如何維護運行兩個Java應用程序的Hibernate緩存一致性?
- 14. 在多線程apache駱駝應用程序中維護排序
- 15. 爲每個平臺維護一個單獨的分支
- 16. 如何在整個應用程序中維護數組值
- 17. 我應該在我的MonoTouch應用程序中執行維護
- 18. 如何維護同一域中的ASP.NET MVC4應用程序之間的狀態?
- 19. 構建應用程序時維護兩個文件夾
- 20. 如何維護每個成員在一個單獨的目錄中的索引?
- 21. 開發兩個獨立的應用程序時,保護API端點Angular應用程序和Laravel應用程序
- 22. 在多個表格中插入一行,並單獨維護一個關係
- 23. 在Sinatra應用程序中維護一個永久的EM連接
- 24. 在單個BlackBerry應用程序中同時顯示兩個單獨的網頁
- 25. 在整個應用程序的UINavigationBar上維護UIButton?
- 26. Java應用程序使用兩個單獨的信任庫
- 27. 維護.NET Web應用程序
- 28. 如何爲同一個項目維護單獨的svn倉庫?
- 29. 如何從單個存儲庫中維護多個iOS應用程序?
- 30. android:在應用程序到達前臺時維護首選項
你想讓24/11/1992。 00:00格林尼治標準時間的時間應用範圍? – PermGenError
醜陋的方法是在應用程序啓動時記住系統時間與24.11.92之間的差異。然後在每次訪問時從系統時間中減去它。 –
@defaultlocale,你會澄清這怎麼可能是醜陋的?在我看來,它是最乾淨和最優雅的解決方案。看下面的例子。 –