3

我在查看文档时想到的最接近的事情是

(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
4

1 回答 1

2

在 Racket 版本 5.3.4 之前,您需要使用库中的date->string函数,srfi/19因为 和 的结构类型racket/datesrfi/19兼容(在即将发布的 5.3.4 中,它们使用相同的结构)。如果您(require srfi/19)使用那里定义的 API,它应该可以工作。

于 2013-05-06T19:07:42.110 回答