当前位置: 首页 > 面试题库 >

减去时间.Go中时间的持续时间

督飞鸣
2023-03-14
问题内容

我有一个time.Time价值time.Now(),我想得到另一个正好是1个月前的时间。

我知道可以用time.Sub()(想要另一个time.Time)进行减法,但这会导致a,time.Duration而我反过来需要它。


问题答案:

尝试AddDate:

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()

    fmt.Println("now:", now)

    then := now.AddDate(0, -1, 0)

    fmt.Println("then:", then)
}

产生:

now: 2009-11-10 23:00:00 +0000 UTC
then: 2009-10-10 23:00:00 +0000 UTC

游乐场:http://play.golang.org/p/QChq02kisT



 类似资料:
  • 问题内容: 我一直在寻找答案已有几个小时,但找不到。 我正在写一个简单的。用户设置他们的工作开始和结束时间。例如,某人的工作时间是从8:00到16:00。我该如何减去这个时间来查看此人已经工作了多长时间了? 我正在尝试,但没有成功… 问题答案: 以下是更好的方法: 那会给你带来时间上的差异。

  • 在我的应用程序中,用户需要能够输入持续时间,包括分钟和秒。 我正在考虑使用Windows中的控件来更改时间,虽然我只需要几分钟和几秒钟,而且箭头也很好,但不是必需的。 JavaFX 2中是否已经有此控件 如果没有,我如何创建这样的控件 上述Windows控件的屏幕截图: 谢谢你的提示!

  • 对于我的项目,我必须读取在CSV文件中提供给我们的数据并以某种格式将其写出。我几乎完成了,但我遇到的问题是我的程序没有完全读取给定的时间。从这里开始,我的程序只是读取所有给定的时间。 我试图将<code>字符串时间。 这应该会回来 [芝麻街|埃尔莫之最1240:28:11] 但它返回 [Elmo的最佳|芝麻街124;2:29,1:30,2:09,1:46,1:55,2:02,1:42,2:40,1

  • 问题内容: 在Go中精确测量持续时间的正确方法是什么?大多数应用程序仅使用标准时间包和以下方法: 但是,返回当前系统时间,这导致两个缺陷: 如果在测量过程中更改了系统时间(例如,由于 时区更改 (DST)或 leap秒 ),则所产生的持续时间也是错误的。 系统时间可能故意比实时时间变慢或变慢。当操作系统将内部时钟与NTP时间服务器同步时,通常会发生这种情况(每小时可能发生几次!) 从MSDN: [

  • 我需要一些解释为什么这个代码不编译: 错误: 类型Duration中的(TemporalAmount)方法不适用于参数(ChronoUnit) 正如本文所述: public static Duration from(TemporalAmount amount)从时间量中获取持续时间的实例。这将根据指定的金额获得持续时间。TemporalAmount表示一个时间量,可以是基于日期的,也可以是基于时间

  • 我有ISO8601格式的持续时间值,我将其转换为时间值为整数秒,如下所示: ISO8601格式的持续时间值=“P1Y”。 我将该值存储在“时间-单位-秒”中。因此,当我检索的值将是在int,我想转换回ISO8601持续时间格式,所以我应该得到“P1Y”转换后回来。 有没有快速的方法可以做到这一点?或者我必须把时间的int值转换成float,然后通过某种方法把它转换成ISO8601持续时间。