我在查看文档时想到的最接近的事情是
(define (sql-datetime->rfc2822 datetime)
(let ([dt (sql-datetime->srfi-date datetime)])
(date->string dt (date-display-format 'rfc2822))))
但是当我向它传递一个 sql-timestamp
> (sql-datetime->rfc2822 st)
. . date->string: contract violation
expected: date?
given: (tm:date 456232000 10 39 18 5 5 2013 0)
in: the 1st argument of
(->* (date?) (any/c) string?)
contract from: <collects>/racket/date.rkt
最佳答案
在 Racket 版本 5.3.4 之前,您需要使用 srfi/19
库中的 date->string
函数,因为 racket 的结构类型/date
和 srfi/19
不兼容(在即将发布的5.3.4中,它们使用相同的结构)。如果您 (require srfi/19)
并使用那里定义的 API,它应该可以工作。
关于lisp - 如何在 Racket 中将 sql-timestamp 转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16403843/