[英]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.