我想为time.Time
第二天(明天)的确切时间点创建一个。现在,我想设置小时和分钟。
这是我目前使用的代码:
now := time.Now()
tomorrow := time.Date(now.Year(), now.Month(), now.Day(), 15, 0, 0, 0, time.UTC).AddDate(0,0,1)
这将为Date
今天创建一个具有我正在寻找的确切时间(小时和分钟)的,然后在其中增加一天Date
。这很好。
例:
想象time.Now()
是2009-11-10 23:00:00 +0000 UTC
。
以下代码的结果将是: 2009-11-10 15:00:00 +0000 UTC
tomorrow := time.Date(now.Year(), now.Month(), now.Day(), 15, 0, 0, 0, time.UTC)
到目前为止,我使用添加了一天AddDate(0, 0, 1)
。结果就是第二天的所需时间:2009-11-11 15:00:00 +0000 UTC
。
请参阅:https://play.golang.org/p/OKR9V1HN50x
题:
有没有编写此代码的较短方法?
包装时间
import "time"
月,日,小时,分钟,秒和nsec值可能超出其通常范围,并将在转换过程中进行归一化。例如,10月32日转换为11月1日。
这样更有效。它最大程度地减少了对包time
函数和方法的html" target="_blank">调用。
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
fmt.Println(now.Round(0))
yyyy, mm, dd := now.Date()
tomorrow := time.Date(yyyy, mm, dd+1, 15, 0, 0, 0, now.Location())
fmt.Println(tomorrow)
}
输出:
2019-06-21 16:23:06.525478162 -0400 EDT
2019-06-22 15:00:00 -0400 EDT
一些基准:
BenchmarkNow-8 31197811 36.6 ns/op
BenchmarkTomorrowPeterSO-8 29852671 38.4 ns/op
BenchmarkTomorrowJens-8 9523422 124 ns/op
bench_test.go
:
package main
import (
"testing"
"time"
)
func BenchmarkNow(b *testing.B) {
for N := 0; N < b.N; N++ {
now := time.Now()
_ = now
}
}
var now = time.Now()
func BenchmarkTomorrowPeterSO(b *testing.B) {
for N := 0; N < b.N; N++ {
// now := time.Now()
yyyy, mm, dd := now.Date()
tomorrow := time.Date(yyyy, mm, dd+1, 15, 0, 0, 0, now.Location())
_ = tomorrow
}
}
func BenchmarkTomorrowJens(b *testing.B) {
for N := 0; N < b.N; N++ {
// now := time.Now()
tomorrow := time.Date(now.Year(), now.Month(), now.Day(), 15, 0, 0, 0, now.Location()).AddDate(0, 0, 1)
_ = tomorrow
}
}
我如何暂停我的石英触发器,并在第二天在其指定的开始时间开始它?为(如)。我的cron表达式是*0/20 15-00**?所以当我暂停扳机时,它应该在第二天15:00开始。
Shell 编程就像一个 1950 年代的自动点唱机… -- Larry Wall 在最简单的情况下,脚本程序不过是存储在一个文件里的系统命令列表。这至少让你执行它时不必重新按顺序键入相同功能的命令序列。 例子 2-1. cleanup: 一个清空/var/log目录下的日志文件的脚本 1 # Cleanup 2 # 必须以root用户运行. 3 4 cd /var/log
也许我想多了。我想每周一上午9点发送本地通知,直到满足某些条件。我知道这可以通过设置的和组件来完成。我遇到的问题是我将传递给的值取决于正在使用的。如果我理解正确,则取决于用户的设置。例如,如果用户的日历周从周日开始,我会传递1到,但如果一周从周六开始,我会传递2。 我的问题是,我该如何解释时区、夏令时和周开始日之类的事情?
我有两个IP的主节点和工作节点?我需要使用这些部署一些服务。我对kubernetes一无所知,什么是主节点和工作节点? 我该如何开始?
问题内容: 我有含有天自变量历元基准日期的用于某一日期。 有人知道将该变量转换为a的方法吗? 问题答案: 以下应该工作: 关于时区的注释: 使用程序运行所在系统的默认时区创建一个新实例。由于Epoch是相对于UTC(Java中的GMT)的,因此必须谨慎处理与UTC不同的任何时区。以下程序说明了该问题: 此打印 这表明仅使用eg是不够的。在这种情况下,必须始终考虑到一天中的什么时间。这可以通过显式使
当我开始我的页面时,一切都加载正常,我第二次尝试重新加载,我收到以下错误,我从角度运行网址 在上一个异步操作完成之前,在此上下文上启动了第二个操作。使用“await”确保在该上下文上调用另一个方法之前已完成任何异步操作。任何实例成员都不能保证线程安全。 这就是方法 在这个类中,调用将成为数据库的上下文 这种情况不仅发生在这个方法中,当我尝试调用多个时也会发生