簡體   English   中英

如何防止12:00:00變成00:00:00?

[英]how to prevent 12:00:00 from becoming 00:00:00?

我有一個表單,用戶在其中輸入廣告開始時間和廣告結束時間,該時間的格式為“ yyyy / mm / dd hh:mm:ss”,然后將這些數據推送到數據庫中。

但是,當用戶輸入“ yyyy / mm / dd 12:00:00”或基本上任何東西12時,當我使用24時它不起作用,當我輸入12時數據庫顯示00:00:00。發生了什么?

 SplashPageValue value = new SplashPageValue();
 SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");

 value.adStartDate = df.parse(fileUp.getString("adStartDate"));    
 value.adEndDate = df.parse(fileUp.getString("adEndDate"));

屏幕截圖如下:

表格

表格

我在數據庫中使用SQuirreL看到的內容

圖片

您的問題尚不清楚,但我強烈懷疑問題僅在於您使用12小時制進行解析。 更改格式字符串以使用HH代替hh,這很可能會解決問題:

SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

請注意,解析時還應考慮要使用哪個時區。 我個人更喜歡將Joda Time用於Java中的所有日期和時間操作-包括解析/格式化,因為與Joda Time的解析器不同, SimpleDateFormat不是線程安全的。

您的日期格式應為24小時:

SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

大寫字母H為24,小寫字母h為12。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM