」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 將 UNIX 時間戳轉換為日期時,為什麼 SimpleDateFormat.parse 的輸出與指定的不同?

將 UNIX 時間戳轉換為日期時,為什麼 SimpleDateFormat.parse 的輸出與指定的不同?

發佈於2024-11-09
瀏覽:622

Why does SimpleDateFormat.parse output differently than specified when converting UNIX timestamps to dates?

SimpleDateFormatter.parse 輸出與指定不同

使用SimpleDateFormat 將UNIX 時間戳記轉換為日期時,您可能會遇到指定格式與實際格式之間的差異輸出。

在給定的範例中,目標是轉換 UNIX 時間戳記(“a1527069600”)轉換為“dd/MM/yyyy hh:mm:ss a”格式的日期。但是,使用 SimpleDateFormatter.format 後面跟著 SimpleDateFormatter.parse 會產生不同的輸出。

差異原因

差異的原因是SimpleDateFormatter.parse 期望字串格式準確實例化期間指定的格式(“dd/MM/yyyy hh:mm: ss a”)。在這種情況下,SimpleDateFormatter.format 輸出的日期格式與預期的輸入格式不同,導致解析操作失敗。

解決方案

避免此問題,建議不要將日期字串傳遞給 MySQL 資料庫。相反,請使用日期物件。現代 Java 日期和時間 API java.time 提供了 LocalDateTime 等類,讓日期處理更容易。

範例:

String ep = "a1527069600";
long epoch = Long.parseLong(ep.substring(1));
Instant inst = Instant.ofEpochSecond(epoch);
LocalDateTime ldt = inst.atZone(ZoneId.of("Asia/Calcutta")).toLocalDateTime();

System.out.println(ldt.toString()); // Output: 2018-05-23T15:30

PreparedStatement ps = myDatabaseConnection.prepareStatement(
        "insert into my_table (my_date_time) values (?)");
ps.setObject(1, ldt);

這段程式碼將UNIX時間戳轉換為LocalDateTime,可直接插入MySQL資料庫。

結論:

透過利用java.time並將日期物件而不是字串傳遞給MySQL,您可以消除格式問題並確保日期轉換的準確性。

最新教學 更多>
  • 如何優化FastAPI中大數據的JSON回應效能?
    如何優化FastAPI中大數據的JSON回應效能?
    利用大數據提高 FastAPI 中 JSON 回應的效能FastAPI 用戶在透過端點傳回大量 JSON 資料時遇到嚴重延遲。全面的解決方案涉及解決多個因素,包括資料檢索、序列化和客戶端顯示。 資料提取和讀取如範例程式碼中突出顯示的,資料最初使用Pandas 的read_parquet() 函數從P...
    程式設計 發佈於2024-11-09
  • 如何在 Go 中為 HTTP 請求設定經過驗證的代理程式?
    如何在 Go 中為 HTTP 請求設定經過驗證的代理程式?
    在Go 中使用代理對HTTP 請求進行身份驗證處理HTTP 請求時,通常會遇到需要使用代理的情況帶身份驗證的代理。這可能是由於網路限製或為了提高效能。然而,在 Go 中設定帶有身份驗證的代理可能有點棘手。 net/http 套件(Go 中處理 HTTP 請求的標準庫包)的文檔提供瞭如何使用代理的範例...
    程式設計 發佈於2024-11-09
  • 手動測試:完整指南
    手動測試:完整指南
    手动测试在不使用自动化工具的情况下通过人机交互发现错误,在确保软件质量方面发挥着关键作用。它涉及测试人员在不借助脚本或自动化框架的情况下手动执行测试用例来验证软件功能、可用性和性能。虽然自动化变得越来越流行,但手动测试对于确保产品按预期工作仍然至关重要。 手动测试的作用和重要性 虽然自动化测试很有...
    程式設計 發佈於2024-11-09
  • 可簡化您工作流程的頂級 API 測試工具
    可簡化您工作流程的頂級 API 測試工具
    API 已成為現代軟體開發不可或缺的一部分,支援不同系統和應用程式之間的通訊。無論您是在建立 Web 應用程式、行動應用程序,甚至是微服務,確保您的 API 完美運行都至關重要。 API 測試工具可以更輕鬆地自動化和驗證 API 的效能、功能和安全性。好消息?其中許多工具都是免費且非常有效的。在這...
    程式設計 發佈於2024-11-09
  • RGFW 底層:剪貼簿複製/貼上
    RGFW 底層:剪貼簿複製/貼上
    Introduction Reading and writing to the clipboard using low-level APIs can be tricky. There are a bunch of steps required. This tutorial simp...
    程式設計 發佈於2024-11-09
  • 為什麼我應該使用 `try {} catch {}` 來處理 PDO 錯誤而不是 `if {} else {}`?
    為什麼我應該使用 `try {} catch {}` 來處理 PDO 錯誤而不是 `if {} else {}`?
    異常錯誤處理:Try {} Catch {} 與If {} Else {}從普通MySQL 到PDO 的轉換在PHP中,使用try {} catch {} 區塊進行錯誤處理而不是if {} else {} 組合的轉變已變得普遍。闡明此方法的優點:錯誤合併:與嵌套的if {} else {} 區塊不同...
    程式設計 發佈於2024-11-09
  • 如何在 PHP 中存取名稱中帶有空格的類別屬性?
    如何在 PHP 中存取名稱中帶有空格的類別屬性?
    在PHP 中存取帶有空格的屬性在PHP 中,存取名稱中帶有空格的類別屬性可能具有挑戰性。考慮一個具有「Sector」和「Date Found」屬性的 stdClass 物件。雖然您可以使用 $object->Sector 存取“Sector”,但如何檢索“Date Found”的值? 要存取名稱中包...
    程式設計 發佈於2024-11-09
  • Flex 專案是區塊級還是 Flex 級?深入研究 CSS 佈局
    Flex 專案是區塊級還是 Flex 級?深入研究 CSS 佈局
    Flex 專案令人困惑的本質:區塊級還是 Flex 等級? Flex 專案是否是區塊級的問題一直是CSS 開發者之間的爭論。 CSS 靈活框佈局模組等級 1 規定 Flex 項目位於 Flex 級別,而不是區塊級別。然而,後面的部分顯示彈性項目的顯示值是「塊化」的。這就提出了一個問題:Flex 專案...
    程式設計 發佈於2024-11-09
  • JavaScript 如何控制逾時執行並確定剩餘時間?
    JavaScript 如何控制逾時執行並確定剩餘時間?
    JavaScript 中的暫停和恢復逾時使用 JavaScript 時,可能需要控制非同步操作的流程,例如逾時。在這裡,我們探索暫停和恢復活動逾時的方法,以及檢索當前逾時的剩餘時間。 暫停和恢復逾時要暫停逾時,您可以使用包裝器攔截 window.setTimeout 呼叫並提供必要功能的函數。包裝函...
    程式設計 發佈於2024-11-09
  • 為什麼非同步載入腳本中 document.write() 受到限制?
    為什麼非同步載入腳本中 document.write() 受到限制?
    非同步載入腳本中的執行限制:了解document.write() 限制嘗試從非同步載入的腳本寫入文件會引發控制台訊息「無法在'文件'上執行'寫入':無法從非同步載入的外部腳本,除非明確開啟它。」儘管腳本的行為符合預期,但仍可能出現此訊息,讓開發人員感到困惑。 為什麼有...
    程式設計 發佈於2024-11-09
  • 如何根據元素的高度保持元素的縱橫比?
    如何根據元素的高度保持元素的縱橫比?
    根據高度維護 Div 縱橫比將元素的寬度保持為其高度的百分比可能具有挑戰性。雖然使用 padding-top 的百分比值可以達到相反的效果,但 padding-left 作為百分比依賴於物件的寬度,而不是其高度。 為了解決這個問題,CSS 引入了寬高比屬性,提供一個優雅的解決方案來根據高度保持一致的...
    程式設計 發佈於2024-11-09
  • 如何使用 PHP 或 Perl 在瀏覽器中直接顯示 PDF 檔案?
    如何使用 PHP 或 Perl 在瀏覽器中直接顯示 PDF 檔案?
    使用PHP 或Perl 在瀏覽器中顯示PDF 檔案直接在瀏覽器中顯示PDF 檔案可能是追蹤使用者參與度和追蹤用戶參與度的有用技術。保護敏感文件位置。雖然有下載或建立 PDF 的簡單方法,但如何載入現有 PDF 檔案進行檢視還不是很明顯。 PHP 解決方案:以下 PHP 程式碼可以是用於在瀏覽器中顯示...
    程式設計 發佈於2024-11-09
  • 為什麼curl_exec()回傳False以及如何有效處理它?
    為什麼curl_exec()回傳False以及如何有效處理它?
    當curl_exec()返回False時:深入研究錯誤處理領域在Web開發的世界中,curl_exec()函數在從遠端伺服器檢索資料方面起著至關重要的作用。然而,程式設計師經常遇到一個令人費解的情況,即該函數始終傳回 false。為了解開這個謎團,我們必須踏上錯誤檢查和處理的核心之旅。 當curl_...
    程式設計 發佈於2024-11-09
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-11-09
  • 如何消除 Bootstrap 堆疊行中的間隙:綜合指南
    如何消除 Bootstrap 堆疊行中的間隙:綜合指南
    Bootstrap 堆疊行中的間隙:綜合解決方案Bootstrap 堆疊行中存在間隙對於開發人員來說可能是一個令人沮喪的問題。為了解決這個問題,有幾種有效的解決方案可用。 1。設定元素高度標準化:為所有投資組合元素分配固定高度可確保內容的平均分佈。這消除了不同元素尺寸導致間隙的可能性。 2。使用 M...
    程式設計 發佈於2024-11-09

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3