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

返回本地开始时间对象

洪飞扬
2023-03-14
问题内容

为了获取今天时间对象的本地开始时间,我提取了YMD并重建了新的日期。看起来像是在跳动。我还会错过其他一些标准库功能吗?

代码也可以在http://play.golang.org/p/OSRl0nxyB7上运行:

func Bod(t time.Time) time.Time {
    year, month, day := t.Date()
    return time.Date(year, month, day, 0, 0, 0, 0, t.Location())
}

func main() {
    fmt.Println(Bod(time.Now()))
}

问题答案:

问题的标题和正文都要求“今天开始是当地的(芝加哥)”。问题中的Bod函数正确地做到了这一点。接受Truncate功能的权利要求是更好的解决方案,但它返回一个不同的结果; 它不会在今天开始返回本地[芝加哥]。例如,

package main

import (
    "fmt"
    "time"
)

func Bod(t time.Time) time.Time {
    year, month, day := t.Date()
    return time.Date(year, month, day, 0, 0, 0, 0, t.Location())
}

func Truncate(t time.Time) time.Time {
    return t.Truncate(24 * time.Hour)
}

func main() {
    chicago, err := time.LoadLocation("America/Chicago")
    if err != nil {
        fmt.Println(err)
        return
    }
    now := time.Now().In(chicago)
    fmt.Println(Bod(now))
    fmt.Println(Truncate(now))
}

输出:

2014-08-11 00:00:00 -0400 EDT
2014-08-11 20:00:00 -0400 EDT

time.Truncate方法将截断UTC时间。

在接受Truncate功能还假设有一天24小时。芝加哥每天有23、24或25个小时。



 类似资料:
  • 如何利用结构化绑定和元组来返回函数的本地对象? 在函数中,我创建相互引用的本地对象,我希望以元组的形式返回这些对象,并在调用函数时使用结构化绑定来标识它们。我现在有: 这不起作用,我得到一个错误,说返回值不能转换为前面提到的返回类型的元组。我不确定为什么会这样,因为类型与声明匹配。 最终,我试图创建一个方便的函数,这样我就不必每次想创建一个新的所有者时都在函数中键入四行。这是我使用结构化绑定使其更

  • 在php.ini我设置了。重新启动了Apache,中的输出显示了正确的时区(Europe/Amsterdam)。现在当我打印时,我得到的是UTC时间,比我们的本地时间晚2小时。但是当我打印时,我仍然得到UTC时间,而我期望的是本地时间。 的输出是: 如果您能帮我了解当地时间,我们将不胜感激。 更新: phpinfo()的输出为: 所以“date.timezone”是正确的,但与“默认时区”有什么区

  • Python时间模块中的是否返回系统的时间或UTC时间?

  • 问题内容: 在Objective-c中,以下代码使用API 生成UTC日期时间信息。 但是在Swift中, 结果为本地日期和时间。 我有两个问题: 如何获取对象中的UTC时间和本地时间(以及给出本地时间)。 我如何才能从对象获取精度达几秒钟。 编辑1:感谢您的所有输入,但我不在寻找对象或字符串值。我只是在寻找NSDate对象(但是我们要把它们煮熟,但这是必需的)。 见第1点。 问题答案: 该文档说

  • 问题内容: 我正在尝试获取报告的构建持续时间,但它始终返回0。 通过阅读文档,阅读Slack插件源以及阅读其他资源,我应该能够执行以下操作之一: 都不起作用。根据我的理解,这可能是因为我在构建实际完成之前就调用了它,因此尚无可用时间。 管道的结构如下所示: 我的问题是: 为什么我没有得到持续时间 管道中是否可以指定“构建后”步骤?从我读到的内容来看,try-catching应该这样工作 我的临时解

  • 我有关于Pandas数据帧中变量的对数返回的数据。我想把这些返回变成一个索引时间序列,它从100(或任意数字)开始。这种操作非常常见,例如在创建通货膨胀指数或比较两个不同幅度的系列时: 因此,例如,2000年1月1日中的第一个值设置为等于100,2000年1月2日中的下一个值等于100*exp(return_2000_01_02),依此类推。以下示例: 我知道我可以使用.iterItems()在P