将时间转换为秒字符串问题

胡椒粉

我正在阅读《Real World OCaml》一书,但该书中的代码有误。由于我在GitHub上没有看到有关图书问题的任何活动,因此我想在这里问您。这是问题所在:

let log_entry maybe_time message =
    let time = match maybe_time with
        | Some x -> x
        | None -> Time.now ()
    in
    Time.to_sec_string time ^ " -- " ^ message
;;

错误是下一个错误:

Error: This expression has type zone:Core.Zone.t -> string but an expression was expected of type string

据我了解,这与打电话有关

Time.to_sec_string时间

静脉血

在较早版本的Core库中,该to_sec_string函数具有以下接口:

(** [to_sec_string t] Same as to_string, but without milliseconds *)
val to_sec_string : t -> string

在某些时候,他们更改了其界面,现在

(** Same as [to_string_abs], but without milliseconds *)
val to_sec_string : t -> zone:Zone.t -> string

也就是说,现在这是一个带有两个参数的函数。第一个仍然是type的值Time.t,但是第二个是带标签的类型的参数,Zone.t用于指定时区。与常规位置参数不同,带标签的参数可以在任意位置传递给函数,因此您无需记住参数的顺序。通常的发票如下所示:

let s = Time.to_sec_string time ~zone:Time.Zone.local

这里Time.Zone.local是一个时区对象,代表您的本地时区。由于它是带标签的参数,因此您还可以像下面这样调用函数:

let s = Time.to_sec_string ~zone:Time.Zone.local time

而且,由于此处的两个参数具有不同的类型,因此OCaml甚至可以在不使用标签的情况下猜测谁是谁,因此您可以使用位置参数:

let s = Time.to_sec_string time Time.Zone.local

最后,Core中的大多数类型都具有该接口的to_string功能。因此,更简单的解决方法是使用而不是to_sec_string不过,它的格式略有不同,但较为冗长:

Time.to_string time ^ " -- " ^ message

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将秒转换为可读的时间字符串

来自分类Dev

如何将时间字符串转换为秒

来自分类Dev

在javascript / jquery中将时间字符串转换为秒

来自分类Dev

将joda-time秒转换为格式化的时间字符串

来自分类Dev

python将日期时间格式的字符串转换为秒

来自分类Dev

如何在angular2中将秒转换为时间字符串?

来自分类Dev

如何将描述时间的字符串转换为秒?

来自分类Dev

如何在angular2中将秒转换为时间字符串?

来自分类Dev

如何将时间码字符串转换为秒

来自分类Dev

将日期时间字符串、时区转换为纪元秒

来自分类Dev

将字符串地址转换为 lat 和 lng 需要将近 1 秒的时间

来自分类Dev

使用PHP将字符串转换为秒

来自分类Dev

将时间字符串转换为Excel时间格式

来自分类Dev

PHP将字符串转换为年份中的时间问题

来自分类Dev

将字符串转换为时间

来自分类Dev

将MySQL日期时间字段转换为字符串

来自分类Dev

将时间转换为字符串(以毫秒为单位)

来自分类Dev

将字符串转换为纪元时间戳

来自分类Dev

将日期时间转换为字符串的快速方法

来自分类Dev

LINQ查询将字符串转换为日期时间

来自分类Dev

将字符串转换为日期时间

来自分类Dev

(Oracle)将日期字符串转换为日期时间

来自分类Dev

将R时间列转换为特定字符串

来自分类Dev

将字符串转换为日期时间对象

来自分类Dev

python:将字符串转换为时间对象

来自分类Dev

将时间戳转换为字符串

来自分类Dev

将时间的unicode字符串转换为datetime对象

来自分类Dev

将UTC字符串转换为时间对象

来自分类Dev

将逗号分隔的字符串转换为日期时间