Maison > développement back-end > Golang > Comment puis-je personnaliser le formatage de l'horodatage dans les réponses JSON de Go ?

Comment puis-je personnaliser le formatage de l'horodatage dans les réponses JSON de Go ?

Linda Hamilton
Libérer: 2024-12-25 14:13:17
original
192 Les gens l'ont consulté

How Can I Customize Timestamp Formatting in Go's JSON Responses?

Formatage des horodatages dans les réponses JSON

Le package time de Go fournit un type time.Time pour représenter les horodatages. Cependant, lors de l'encodage d'un objet time.Time en JSON à l'aide de json.NewEncoder, il est formaté dans un format convivial pour les machines. Si vous souhaitez personnaliser le format d'horodatage dans les réponses JSON, suivez les étapes suivantes :

Personnalisation du format d'horodatage

Créez un type personnalisé qui intègre time.Time et implémente le Interface Marshaler.

type JSONTime time.Time

func (t JSONTime) MarshalJSON() ([]byte, error) {
    stamp := fmt.Sprintf("\"%s\"", time.Time(t).Format("Mon Jan _2"))
    return []byte(stamp), nil
}
Copier après la connexion

Ce code définit un type qui formate l'horodatage comme "Mon Jan _2".

Utilisation du type d'heure personnalisé

Dans votre structure de document, utilisez le type JSONTime pour le champ d'horodatage :

type Document struct {
    Name        string
    Content     string
    Stamp       JSONTime
    Author      string
}
Copier après la connexion

Exemple de code

Initialisez le document avec votre personnalisation timestamp :

testDoc := model.Document{"Meeting Notes", "These are some notes", JSONTime(time.Now()), "Bacon"}    
Copier après la connexion

Maintenant, vous pouvez envoyer la réponse avec le format d'horodatage personnalisé :

sendResponse(testDoc, w,r)
Copier après la connexion

Remarque :

Alternativement, vous peut utiliser une bibliothèque comme timelib pour personnaliser facilement les formats d'horodatage. Il fournit une méthode MarshalJSON pour les valeurs time.Time.

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:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal