我是Common Lisp的初学者,我目前正在试用这个包local-time。
我尝试使用创建make-timestamp
实例的timestamp
宏创建日期。我咨询了local-time manual,但我不明白我必须提供哪些论据。
宏的描述如下:
- Macro:make-timestamp& key:day:sec:nsec
扩展为一个表达式,该表达式完全按照指定创建时间戳的实例。
只需使用没有任何参数的宏就可以实现:
LOCAL-TIME> (make-timestamp)
@2000-03-01T01:00:00.000000+01:00
2000-03-01是这里的标准时代,所以到目前为止这似乎没问题。
将:day 3
作为参数传递给我:
LOCAL-TIME> (make-timestamp :day 3)
@2000-03-04T01:00:00.000000+01:00
好。但是,我怎样才能构建一个日期,而不必计算2000-03-01以后的日期和日期?
还有一个名为encode-timestamp
的功能似乎完全符合我的要求(即:通过提供月,日,年,小时,分钟等日期信息来创建日期):
LOCAL-TIME> (encode-timestamp 0 0 30 10 13 5 2009)
@2009-05-13T10:30:00.000000+02:00
但是,make-timestamp
宏应该做什么?
答案 0 :(得分:2)
Make-timestamp
由多个编码函数使用,包括encode-timestamp
。我认为它相当低级,但它可能是图书馆用户感兴趣的。
Encode-timestamp
似乎只是你想要的功能。