datetime - 在 Julia 中为 datetime 添加一个小时?
问题描述
假设我有一个日期时间,我想向该日期时间添加一个任意时间段并获得一个新的日期时间。例如,我想查找除夕后 333 小时后的日期和时间。
出现两个问题:
- 我实际上无法创建超过 23 小时的时间
- 如果我确实创建了 ::Time,我无法将它添加到 ::DateTime
我的问题基本上是你如何将时间加在一起?
代码
julia> dt = DateTime(2021,1)
2021-01-01T00:00:00
julia> t = Time(333)
ERROR: ArgumentError: Hour: 333 out of range (0:23)
julia> t = Time(1)
01:00:00
julia> dt + t
ERROR: MethodError: no method matching +(::DateTime, ::Time)
Closest candidates are:
+(::Any, ::Any, ::Any, ::Any...) at operators.jl:560
解决方案
您不应该将Time
s 添加在一起,因为这些是及时的实例。您想将Period
s 添加到您的Time
中,以找出经过一段时间后的时间:
julia> using Dates
julia> dt = DateTime(2021,1)
2021-01-01T00:00:00
julia> dt + Hour(333)
2021-01-14T21:00:00
julia> Hour <: Period
true
julia> Time <: Period
false
推荐阅读
- angular - 错误类型错误:无法读取未定义的属性“toLowerCase”
- java - 为记录定义默认构造函数
- intellij-idea - 更新 Intellij 后,每当我将鼠标悬停在代码上时,都会弹出这个烦人的“打开浏览器”。我该如何摆脱它?
- apache-spark - 在 EMR 的核心节点上为 Spark Application Master 预留空间
- android - 通过终端在设备中启动已安装的 android 应用程序
- r - TabItem 输出不适用于 R Shinydashboard
- javascript - 在从 Firebase 收集数据之前呈现网页 - NodeJS 和 EJS
- ios - iOS SwiftUI:macOS 模拟器中的 NavigationLink 不起作用
- docker - 前端、后端在同一台服务器上同时使用 HTTPS 和 Websocket
- python - 一道面试题:找到第一步的方向