golang處理時間的包time一次性全面了解

本文旨在對官方time包有個全面學習了解。不鉆摳細節,但又有全面了解,重點介紹常用的內容,一些低頻的可能這輩子可能都用不上。主打一個花最少時間辦最大事。

  • Duration對象: 兩個time實例經過的時間,以長度為int64的納秒來計數。
    常見的duration, golang沒有預設天或者比天大的duration單位,為了避免跨夏令時轉換問題

    Nanosecond Duration = 1 //納秒
    Microsecond = 1000 * Nanosecond //微秒
    Millisecond = 1000 * Microsecond //毫秒
    Second = 1000 * Millisecond
    Minute = 60 * Second
    Hour = 60 * Minute

    獲取單位間的進制數:
    fmt.Print(int64(second/time.Millisecond)) // prints 1000

    • Duration對象上的常用方法
      • ParseDuration(s string) (Duration, error) : 將字符串解析為duration, 類似這種字符串"-1h10m10s6ms7us8ns",最前面可以有-表反向,不加就是正向,-只能加在最前面,比如這個例子-加在-10s就會拋錯
      • String() string : 以"72h3m0.5s"格式打印
      • Since(t Time) Duration : time.Now().Sub(t)的簡便寫法
      • Truncate(m Duration) Duration : 保留m的整數倍duration,其余全舍棄,相當于除m(/m)
      • Round(m Duration) Duration: 保留距離m的倍數最近的duration,也就除m后會四舍五入
  • 獲取location常用方法

    • time.LoadLocation(name string) (*Location, error): name: 預設的時區名,找不到會拋錯,名字大小寫嚴格敏感

      chinaLocation, err := time.LoadLocation(“Asia/Shanghai”)
      if err != nil {//邏輯上很有必要檢測下
      panic(err)
      }

    • time.FixedZone(name string, offset int) *Location : name打印時時區部分原樣展示這個, offset 對于UTC的偏移量(秒)

      chinaLocation := time.FixedZone(“CST”, int(860time.Second))

  • 字符串解析為時間

    • time.Parse(layout, value string) (Time, error): time.Parse(“2006-01-02 15:04:05 MST”, “2025-04-17 15:16:17 CST”)
      • layout中月/日/小時/分鐘/秒/年分別由1/2/3(24小時就是15)/4/5/6表示;帶時區固定用MST(美國山區時間)。golang本身有些預設layout,
        比如time.DateTime就和上面例子中的一樣但不帶MST
    • time.ParseInLocation(layout, value string, loc *Location) (Time, error) :同time.Parse差不多,只是時區由第二個參數指定
  • 時間戳轉換到時間time對象

    • time.Unix(sec int64, nsec int64) Time: time.Unix(1744881455, 0)
  • 一種創建時間time對象

    • time.Date(year int, month Month, day, hour, min, sec, nsec int, loc *Location) Time: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
  • time對象的常用方法

    • In(loc *Location) Time : 原本time實例復制,但時區設為loc,為了打印日期用的。//比如打印美國的時間 time.Now().In(美國Location對象).Format(“2006-01-02 15:04:05 MST”)
    • Format(layout string) string :根據layout格式打印出字符串日期 //time.Now().Format(“2006-01-02 15:04:05 MST”)
    • Unix() int64 : 獲取time對象的時間戳
    • Sub(u Time) Duration : 與時間u的差值 //

      start := time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)
      end := time.Date(2000, 1, 1, 12, 0, 0, 0, time.UTC)
      diff := end.Sub(start)
      fmt.Printf(“difference = %v; 分鐘=%v\n”, diff, diff.Minutes()) //diff = 12h0m0s; 分鐘=720

    • AddDate(years int, months int, days int) Time : 增加/減少日期 // 比如AddDate(-1, 2, 3)
  • Sleep(d Duration): 暫停當前協程至少時間d。d為<=0時,sleep立馬返回

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/79325.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/79325.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/79325.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PyCharm Flask 使用 Tailwind CSS 配置

使用 Tailwind CSS 步驟 1&#xff1a;初始化項目 在 PyCharm 終端運行&#xff1a;npm init -y安裝 Tailwind CSS&#xff1a;npm install -D tailwindcss postcss autoprefixer初始化 Tailwind 配置文件&#xff1a;npx tailwindcss init這會生成 tailwind.config.js。 步…

【英語語法】基本句型

目錄 前言一&#xff1a;主謂二&#xff1a;主謂賓三&#xff1a;主系表四&#xff1a;主謂雙賓五&#xff1a;主謂賓補 前言 英語基本句型是語法體系的基石&#xff0c;以下是英語五大基本句型。 一&#xff1a;主謂 結構&#xff1a;主語 不及物動詞 例句&#xff1a; T…

隔離DCDC輔助電源解決方案與產品應用科普

**“隔離”與“非隔離的區別** 隔離&#xff1a; 1、AC-DC&#xff0c;也叫“一次電源”&#xff0c;人可能會碰到的應用場合&#xff0c;起安全保護作用&#xff1b; 2、為了抗干擾&#xff0c;通過隔離能有效隔絕干擾信號傳輸。 非隔離&#xff1a; 1、“安全特低電壓&#…

DS-SLAM 運動一致性檢測的源碼解讀

運動一致性檢測是Frame.cc的Frame::ProcessMovingObject(const cv::Mat &imgray)函數。 對應DS-SLAM流程圖Moving consistency check的部分 把這個函數單獨摘出來&#xff0c;寫了一下對兩幀檢測&#xff0c;查看效果的程序&#xff1a; #include <opencv2/opencv.hpp…

安全測試的全面知識體系及實現路徑

以下是安全測試的全面知識體系及實現路徑,結合最新工具和技術趨勢(截至2025年): 一、安全測試核心類型與工具 1. 靜態應用安全測試(SAST) 知識點: 通過分析源代碼、字節碼或二進制文件識別漏洞(如SQL注入、緩沖區溢出)支持早期漏洞發現,減少修復成本,適合白盒測試場…

GPT-4o Image Generation Capabilities: An Empirical Study

GPT-4o 圖像生成能力:一項實證研究 目錄 介紹研究背景方法論文本到圖像生成圖像到圖像轉換圖像到 3D 能力主要優勢局限性與挑戰對比性能影響與未來方向結論介紹 近年來,圖像生成領域發生了巨大的變化,從生成對抗網絡 (GAN) 發展到擴散模型,再到可以處理多種模態的統一生成架…

Redis之全局唯一ID

全局ID生成器 文章目錄 全局ID生成器一、全局ID生成器的定義定義核心作用 二、全局ID生成器需滿足的特征1. 唯一性&#xff08;Uniqueness&#xff09;?2. 高性能&#xff08;High Performance&#xff09;?3. 可擴展性&#xff08;Scalability&#xff09;?4. 有序性&#…

nginx中的代理緩存

1.緩存存放路徑 對key取哈希值之后&#xff0c;設置cache內容&#xff0c;然后得到的哈希值的倒數第一位作為第一個子目錄&#xff0c;倒數第三位和倒數第二位組成的字符串作為第二個子目錄&#xff0c;如圖。 proxy_cache_path /xxxx/ levels1:2 2.文件名哈希值

靜態時序分析STA——8.1 時序檢查(建立時間檢查)

文章目錄 一、時序路徑組二、建立時間檢查1. 觸發器到觸發器路徑1&#xff09;時鐘單元UCKBUF0的延遲計算2&#xff09;時鐘源延遲&#xff08;clock source latency&#xff09; 2. 輸入到觸發器路徑1) 虛擬時鐘的輸入路徑2) 具有實際時鐘的輸入路徑 3. 觸發器到輸出路徑4. 輸…

了解高速設計的信號完整性仿真

高速設計需要精確的信號傳輸&#xff0c;以確保最佳性能。信號完整性差會導致關鍵應用中的誤碼、數據損壞甚至系統故障等問題。介電常數、損耗角正切和插入損耗等因素會顯著影響信號質量。通過使用信號完整性仿真&#xff0c;您可以及早發現并解決這些挑戰。這種主動方法有助于…

RAGFlowwindows本地pycharm運行

Python環境準備 1. 安裝pipx。如已經安裝&#xff0c;可跳過本步驟&#xff1a; python -m pip install --user pipxpython -m pipx ensurepath## 驗證安裝pipx --version2. 安裝 uv。如已經安裝&#xff0c;可跳過本步驟&#xff1a; pipx install uv ## 設置為阿里云 PyPI…

STM32-FreeRTOS的詳細配置

配置FreeRTOS 原文鏈接&#xff1a;https://ydamooc.github.io/posts/c9defcd/ 1.1 下載FreeRTOS 打開FreeRTOS官網&#xff1a;https://www.freertos.org/ 點擊下載&#xff0c;并且選擇"FreeRTOS 202212.01"版本&#xff0c;再點擊Download按鈕下載官方的資源包…

Linux筆記---動靜態庫(原理篇)

1. ELF文件格式 動靜態庫文件的構成是什么樣的呢&#xff1f;或者說二者的內容是什么&#xff1f; 實際上&#xff0c;可執行文件&#xff0c;目標文件&#xff0c;靜態庫文件&#xff0c;動態庫文件都是使用ELF文件格式進行組織的。 ELF&#xff08;Executable and Linkable…

HVV-某田相關經歷

一、背景 本次項目為期兩周&#xff0c;由集團主導招募攻擊隊員對集團下屬及其子公司進行的攻防演練。本次項目主導研判分析應急排查內部Nday發掘。 二、研判分析 2.1、帆軟V10 漏洞概述 帆軟 V10 及 V11 版本報表軟件存在反序列化漏洞&#xff0c;攻擊者可利用該漏洞使用…

AI與物聯網的深度融合:開啟智能生活新時代

在當今數字化時代&#xff0c;人工智能&#xff08;AI&#xff09;和物聯網&#xff08;IoT&#xff09;作為兩大前沿技術&#xff0c;正在加速融合&#xff0c;為我們的生活和工作帶來前所未有的變革。這種融合不僅提升了設備的智能化水平&#xff0c;還為各行各業帶來了新的機…

Linux `init` 相關命令的完整使用指南

Linux init 相關命令的完整使用指南—目錄 一、init 系統簡介二、運行級別&#xff08;Runlevel&#xff09;詳解三、常用 init 命令及使用方法1. 切換運行級別2. 查看當前運行級別3. 服務管理4. 緊急模式&#xff08;Rescue Mode&#xff09; 四、不同 Init 系統的兼容性1. Sy…

UNet 改進(12):UNet with ECA (Efficient Channel Attention) 網絡

詳解 下面將詳細解析這個實現了ECA注意力機制的UNet網絡代碼。 1. 代碼概述 代碼實現了一個帶有Efficient Channel Attention (ECA)模塊的UNet網絡架構。 UNet是一種常用于圖像分割任務的編碼器-解碼器結構網絡,而ECA模塊則是一種輕量級的通道注意力機制,可以增強網絡對重…

視頻監控EasyCVR視頻匯聚平臺接入海康監控攝像頭如何配置http監聽功能?

一、方案概述 本方案主要通過EasyCVR視頻管理平臺&#xff0c;實現報警信息的高效傳輸與實時監控。海康監控設備能通過HTTP協議將報警信息發送至指定的目的IP或域名&#xff0c;而EasyCVR平臺則可以接收并處理這些報警信息&#xff0c;同時提供豐富的監控與管理功能&#xff0…

人工智能與網絡安全:AI如何預防、檢測和應對網絡攻擊?

引言&#xff1a;網絡安全新戰場&#xff0c;AI成關鍵角色 在數字化浪潮不斷推進的今天&#xff0c;網絡安全問題已經成為每一家企業、每一個組織無法回避的“隱形戰場”。無論是電商平臺、金融機構&#xff0c;還是政府機關、制造企業&#xff0c;都可能面臨數據泄露、勒索病毒…

3D人臉掃描技術如何讓真人“進入“虛擬,虛擬數字人反向“激活“現實?

隨著虛擬人技術的飛速發展&#xff0c;超寫實數字人已經成為數字娛樂、廣告營銷和虛擬互動領域的核心趨勢。無論是企業家、知名主持人還是明星&#xff0c;數字分身正在以高度還原的形象替代真人參與各類活動&#xff0c;甚至成為品牌代言、直播互動的新寵。 3D人臉掃描&#…