Heim >Backend-Entwicklung >Golang >Analysieren Sie Aktienkurse anhand von Datum und Uhrzeit und löschen Sie die verstrichene Zeit

Analysieren Sie Aktienkurse anhand von Datum und Uhrzeit und löschen Sie die verstrichene Zeit

WBOY
WBOYnach vorne
2024-02-09 22:20:35417Durchsuche

Analysieren Sie Aktienkurse anhand von Datum und Uhrzeit und löschen Sie die verstrichene Zeit

Der PHP-Editor Xigua stellt Ihnen heute vor, wie Sie Datum und Uhrzeit verwenden und die verstrichene Zeit löschen, um Aktienkurse zu analysieren. An der Börse ist das Einholen und Analysieren von Börsenkursen in Echtzeit eine sehr wichtige Fähigkeit. Mithilfe der datetime-Funktion können wir das aktuelle Datum und die aktuelle Uhrzeit ermitteln und dann die Aktualisierungszeit des Aktienkurses berechnen, indem wir die verstrichene Zeit löschen. Auf diese Weise können wir Veränderungen der Aktienkurse in Echtzeit verfolgen und entsprechende Entscheidungen treffen. Als Nächstes lernen wir die einzelnen Schritte kennen!

Frageninhalt

Ich möchte die Methode vom ticker.C 格式的 string (通过网络)获取日期时间并将其解析为 Time 对象。 ticker.C 看起来像 2023-01-03 17:24:13.986722973 +0100 CET m=+1.002332450。它可能必须删除 m=+1.002332450 经过的时间,因为我没有看到将其保留在 Time-Objekt erhalten.

Gibt es außerdem eine Möglichkeit, die Formatzeichenfolge aus dem Time-Objekt abzurufen? Ähnlich wie mytime.GetFormat()

Workaround

Das Stringer-Format für die Zeit ist hier dokumentiert, https://pkg. go.dev/[email protected]#time.string:

String gibt die mit der Formatzeichenfolge formatierte Zeit zurück

"2006-01-02 15:04:05.999999999 -0700 mst"

Wenn die Zeit einen monotonen Uhrwert hat, enthält die zurückgegebene Zeichenfolge das letzte Feld „m=±“, wobei „value“ der als Dezimalsekunden formatierte monotone Uhrwert ist.

Die zurückgegebene Zeichenfolge wird zum Debuggen verwendet; für eine stabile serialisierte Darstellung verwenden Sie t.marshaltext, t.marshalbinary oder t.format mit einer expliziten Formatzeichenfolge.

Dies weist darauf hin, dass Sie nicht versuchen sollten, den Wert zu verwenden, sondern sich stattdessen auf eine ordnungsgemäß gemarshallte (oder formatierte) Zeichenfolge verlassen sollten.

Nicht erwähnt/empfohlen, time.marshaljson ist eine Option:

marshaljson implementiert die json.marshaler-Schnittstelle. Die Zeit ist eine in Anführungszeichen gesetzte Zeichenfolge im RFC 3339-Format, mit hinzugefügter Genauigkeit in Sekundenbruchteilen, falls vorhanden.

Der Sender und der Empfänger müssen keine besondere Arbeit leisten, um den time.time-Wert in JSON zu kodieren und ihn dann wieder zu dekodieren:

type wiretick struct {
    tick time.time `json:"tick"`
}

Hier ist ein kleines Beispiel, das diese Struktur zum Kodieren und Dekodieren eines Aktiensymbols in einer Zeile verwendet, https://go.dev/play/p/fx73q8-kvfa, das die folgende Ausgabe erzeugt:

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}
...

Können Sie den über die Leitung gesendeten Wert ändern oder ihn von jemand anderem ändern lassen, damit er korrekt ist?

Wenn nicht, dieses sollte Folgendes tun:

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

Das obige ist der detaillierte Inhalt vonAnalysieren Sie Aktienkurse anhand von Datum und Uhrzeit und löschen Sie die verstrichene Zeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen