php小編西瓜今天將為大家介紹如何使用日期時間和刪除經過的時間來解析股票行情。在股票市場中,即時取得和解析股票行情是非常重要的一項技能。透過使用日期時間函數,我們可以取得目前的日期和時間,然後透過刪除經過的時間來計算股票行情的更新時間。這樣一來,我們就可以即時追蹤股票行情的變化,並做出相應的決策。接下來,讓我們一起來了解具體的操作步驟吧!
我想從ticker.C
格式的string
(透過網路)取得日期時間並將其解析為Time
物件。 ticker.C
看起來像 2023-01-03 17:24:13.986722973 0100 CET m= 1.002332450
。它可能必須刪除 m= 1.002332450
經過的時間,因為我沒有看到將其保留在 Time
物件中的方法。
此外,有沒有辦法從 Time 物件中取得格式字串?類似於 mytime.GetFormat()
時間的 stringer 格式記錄在此處,https://pkg。 go.dev/[電子郵件受保護]#time.string:
字串傳回使用格式字串格式化的時間
"2006-01-02 15:04:05.999999999 -0700 mst"
如果時間具有單調時脈讀數,則傳回的字串包括最後一個欄位“m=±
傳回的字串用於偵錯;為了獲得穩定的序列化表示,請使用 t.marshaltext、t.marshalbinary 或 t.format 以及顯式格式字串。
這表示您不應嘗試使用該值,而應依賴正確編組(或格式化)的字串。
未提及/建議,time.marshaljson 是一個選項:
marshaljson 實作 json.marshaler 介面。時間是 rfc 3339 格式的引號的字串,如果存在,則添加亞秒精度。
發送方和接收方無需執行任何特殊工作即可將 time.time 值編碼為 json,然後再次解碼:
type wiretick struct { tick time.time `json:"tick"` }
這是一個使用該結構對線路上的股票代碼進行編碼和解碼的小示例,https: //go.dev/play/p/fx73q8-kvfa,它產生如下輸出:
sent json-encoded tick on wire: {"tick":"2009-11-10t23:00:01z"} received tick from wire: {2009-11-10 23:00:01 +0000 utc} sent json-encoded tick on wire: {"tick":"2009-11-10t23:00:02z"} received tick from wire: {2009-11-10 23:00:02 +0000 utc} ...
您可以修改透過線路發送的值,或請其他人修改它以使其正確嗎?
如果沒有,這個應該可以:
const stringerlayout = "2006-01-02 15:04:05.999999999 -0700 mst" timestr := "2009-11-10 23:00:10 +0000 utc m=+10.000000001" tickstr := timestr[:strings.index(timestr, "m=")-1] tick, _ := time.parse(stringerlayout, tickstr) fmt.printf("received from wire: \t %q\n", timestr) fmt.printf("chopped off monotonic: \t %q\n", tickstr) fmt.printf("tick is: \t\t %v\n", tick)
Received from wire: "2009-11-10 23:00:10 +0000 UTC m=+10.000000001" Chopped off monotonic: "2009-11-10 23:00:10 +0000 UTC" Tick is: 2009-11-10 23:00:10 +0000 UTC
以上是使用日期時間和刪除經過的時間解析股票行情的詳細內容。更多資訊請關注PHP中文網其他相關文章!