了解时间包的golang日期格式

时间:2017-09-12 03:22:44

标签: go time format

所以我的功能表现不错。

func Today()(result string){
    current_time := time.Now().Local()
    result =  current_time.Format("01/02/2006")
    return
}

打印MM/DD/YYYY我认为如果我在日期位置有一个大于12的值来表明它是MM / DD / YYYY那么它会更具可读性所以我将其改为以下

func Today()(result string){
    current_time := time.Now().Local()
    result =  current_time.Format("01/23/2004")
    return
}

令我懊恼的是,结果不好。打印MM/DDHH/DD0MM

意识到我的错误,我发现格式是由reference time ...

定义的
Mon Jan 2 15:04:05 -0700 MST 2006

我想知道此时是否有其他任何实例被用作日期时间的格式参考,并且此引用时刻是否有昵称(如null island)?

1 个答案:

答案 0 :(得分:2)

日期字符串中的值不是任意的。您无法将03更改为1并期望它能够正常运行。日期格式化程序会查找这些特定值,并知道2表示月份,01/02/2006表示某月份的日期等。

01/23/2004更改为First Name: ______ Last Name: ______就像将人类可读的表单First Name: ______ Ice Cream: ______更改为Ice Cream。您不能指望任何人知道Last Name应该是Mon Jan 2 15:04:05 -0700 MST 2006

名称

为此提供的唯一名称是"参考时间",here

  

Parse解析格式化的字符串并返回它表示的时间值。布局通过显示参考时间(定义为

)来定义格式
Mon Jan 2 15:04:05 MST 2006

here

  

这些是在Time.Format和Time.Parse中使用的预定义布局。 布局中使用的参考时间是具体时间:

01/02 03:04:05PM '06 -0700
     

这是Unix时间1136239445.由于MST是GMT-0700,参考时间可以被认为是

func Today() string {
    return time.Now().Local().Format("01/02/2006")
}
     

要定义自己的格式,请记下参考时间看起来格式化的方式;例如,查看ANSIC,StampMicro或Kitchen等常量的值。该模型用于演示参考时间的样子,以便Format和Parse方法可以将相同的变换应用于一般时间值。

要说明您正在谈论Go的参考时间,我会说" Go的参考时间。"或者说显而易见,"时间。参考时间。"

顺便说一下,你的功能可以大大缩短:

private static void QueryDocuments1(DocumentClient client)
{

    IQueryable<SearchInput> queryable =
client.CreateDocumentQuery<SearchInput>(UriFactory.CreateDocumentCollectionUri(DocumentDBName, DocumentDBCollectionName))
        .Where(x => x.Receiver == "8907180");
    List<SearchInput> posts = queryable.ToList();
}