如何在Racket中将SQL时间戳转换为字符串?

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
1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接