datetime - Julia 将 Dates 包中的秒数转换为整数:没有方法匹配 Int64(::Second)
问题描述
我正在使用 Dates 模块,并且正在尝试将 Seconds 对象转换为整数。
当我尝试以下操作时,出现错误:
x = Second(5)
Int(x)
# ERROR: MethodError: no method matching Int64(::Second)
为什么这不起作用?如何将其提取为整数值?
我的问题也适用于将分钟转换为整数、将天转换为整数、将月转换为整数等。
解决方案
不要使用 Int 构造函数,而是访问 Second 对象的 .value 属性:
x = Second(5)
x.value # 5
这适用于 Dates 模块中的其他对象,例如Minute
, Day
,Month
等。
查看@tholy 的答案也可以很好地解释为什么它的结构是这样的。
作为旁注,dump()
在这种情况下是一个有用的功能 - 当您使用不熟悉的对象并且您想了解如何访问其属性等时:
dump(x)
# Output:
# Second
# value: Int64 5
推荐阅读
- c# - 非常基本的控制台应用程序,带有 CastleWindsor、Rebus、RabbitMQ。为什么“此容器中已注册 IBus 服务”?
- python-2.7 - 没有任何按钮的 Tkinter 消息框
- scala - 将整数转换为日期以计算天数
- java - 在 kotlin 中删除包装类的样板
- c++ - GProf:__cosl_internal 和 __sinl_internal 函数是什么?
- processing - 如何将音频频谱展开成网格
- geometry - 我怎样才能反转?坐标空间?
- python - 字符串索引必须是整数 Giphy
- javascript - 发送文件 - 移除参数
- android - 如何从 Android Oreo 及以上版本的下载文件夹上传文件?