· Cambiar idioma (Actualmente: Español)

GNU Guile: marcas temporales RFC 3339

Septiembre 21, 2020 19:10 -0500

Ayer descubrí que hay una biblioteca para GNU Guile que proporciona procedimientos para manipular marcas temporales en formato RFC 3339, que se usa en varios estándares Web y que yo necesitaba desde hace tiempo para generar canales de actualización Atom.

La biblioteca se llama Guile Webutils y los procedimientos para estos tipos de marcas temporales están definidos en el módulo (webutils date). Un ejemplo a continuación:

(use-modules (srfi srfi-19)
             (webutils date))

;;; Obtiene la fecha y hora actual.
(define now (current-date))

;;; Muestra la marca temporal en formato RFC 3339.
(display (date->rfc3339-string now))
(newline)
      
Código 1. Programa escrito en Guile Scheme que imprime en pantalla una marca temporal de la fecha y hora actual en formato RFC 3339.

Este programa imprime algo como esto:

2020-09-21T18:38:59.40977000-05:00
    

La diferencia con el procedimiento date->string de la biblioteca SRFI-19 que viene con Guile está en el formato del huso horario. Mientras que las opciones de formato de SRFI-19 generan husos horarios en formato ±HHMM, en RFC 3339 las horas van separadas de los minutos por dos puntos: ±HH:MM.

Pensando en que no pude encontrar esta biblioteca cuando la necesitaba, sino que la encontré de pura casualidad, ayer, sería bueno tener forma de indexar la documentación de todas las bibliotecas publicadas para Guile que están empacadas para GNU Guix y poder hacer búsquedas directamente desde el sitio web de Guile...

Temas relacionados: