2017-07-31 5 views
1

Je voudrais convertir l'horodatage de la transaction retournée par la fonction shim GetTxTimestamp() en une chaîne que je peux imprimer en tant que réponse textuelle. La fonction renvoie le type * timestamp.TimestampComment convertir stub.GetTxTimestamp() en type string?

J'ai essayé de le convertir en chaîne, [] octets mais aucun n'a fonctionné. Il semble que le pointeur a renvoyé des points à une structure ou un paquet.

Répondre

1

L'horodatage de la transaction est une structure de données d'horodatage protobuf, contenant des nombres entiers pour les secondes et nanos depuis 1970. Une façon d'imprimer est d'abord le convertir en une structure de données Time golang, qui peut ensuite être converti en chaîne:

time.Unix(timestamp.Seconds, int64(timestamp.Nanos)).String() 
+0

Salut Dave, Merci pour la réponse rapide! J'ai essayé la façon dont vous suggérez mais je reçois quelques erreurs de compilation lorsque je tente comme ceci: 'txntmsp, ERRN: = stub.GetTxTimestamp() time1: = time.Unix (txntmsp.Seconds, int64 (txntmsp .Nanos)). String() ' – nihal

+0

Cela a fonctionné. Après avoir importé les valeurs de paquet "time" txntmsp.Seconds et txntmsp.Nanos ont été reconnus: 'txntmsp, errN: = stub.GetTxTimestamp() _ = errN temps1: = temps.Unix (txntmsp.Seconds, int64 (txntmsp. Nanos)). String() ' – nihal