Maison > développement back-end > Golang > le corps du texte

Analyser les cotations boursières à l'aide de datetime et supprimer le temps écoulé

WBOY
Libérer: 2024-02-09 22:20:35
avant
388 Les gens l'ont consulté

Analyser les cotations boursières à laide de datetime et supprimer le temps écoulé

L'éditeur php Xigua vous présentera aujourd'hui comment utiliser la date et l'heure et supprimer le temps écoulé pour analyser les cotations boursières. En bourse, obtenir et analyser les cotations boursières en temps réel est une compétence très importante. En utilisant la fonction datetime, nous pouvons obtenir la date et l'heure actuelles, puis calculer l'heure de mise à jour de la cotation boursière en supprimant le temps écoulé. De cette manière, nous pouvons suivre l’évolution des cours des actions en temps réel et prendre les décisions appropriées. Ensuite, apprenons les étapes spécifiques !

Contenu de la question

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

De plus, existe-t-il un moyen d'obtenir la chaîne de format de l'objet Time ? Semblable à mytime.GetFormat()

Solution de contournement

Le format de stringer pour le temps est documenté ici, https://pkg. go.dev/[email protected]#time.string:

String renvoie l'heure formatée à l'aide de la chaîne de format

"2006-01-02 15:04:05.999999999 -0700 mst"
Copier après la connexion

Si l'heure a une lecture d'horloge monotone, la chaîne renvoyée inclut le dernier champ "m=±" où valeur est la lecture d'horloge monotone formatée en secondes décimales.

La chaîne renvoyée est utilisée pour le débogage ; pour une représentation sérialisée stable, utilisez t.marshaltext, t.marshalbinary ou t.format avec une chaîne de format explicite.

Cela indique que vous ne devez pas essayer d'utiliser la valeur et plutôt vous fier à une chaîne correctement organisée (ou formatée).

Non mentionné/suggéré, time.marshaljson est une option :

marshaljson implémente l'interface json.marshaler. L'heure est une chaîne entre guillemets au format rfc 3339, avec une précision inférieure à la seconde ajoutée si elle est présente.

L'expéditeur et le destinataire n'ont pas besoin d'effectuer de travail particulier pour encoder la valeur time.time en json, puis la décoder à nouveau :

type wiretick struct {
    tick time.time `json:"tick"`
}
Copier après la connexion

Voici un petit exemple utilisant cette structure pour encoder et décoder un symbole boursier sur une ligne, https://go.dev/play/p/fx73q8-kvfa, qui produit le résultat suivant :

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}
...
Copier après la connexion

Pouvez-vous modifier la valeur envoyée par fil, ou demander à quelqu'un d'autre de la modifier pour la rendre correcte ?

Sinon, cela devrait faire :

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)
Copier après la connexion
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
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!