将指定日期做格式化处理,这个非常常见。
比如java中,将日期格式化为指定格式的字符串:
String format = "yyyy-MM-dd HH:mm:ss" //定义期望格式化格式
DateFormat dateformat = new SimpleDateFormat(format);//初始化格式模板
Date date = new Date();
System.out.println(dateformat.format(date));//将日期date按定义的格式打印出来
那么,在go中,日期的格式化怎么弄呢?让我们一起来看看go奇葩的处理方式:
layout := "2006-01-02 15:04:05" //定义期望的格式化格式
date := time.Now()
fmt.Println(date.Format(layout)) //将日期date按定义的格式打印出来
看到了吗?定义格式时,不是像java那样指定模式字符串y、M、d等,而是从固定的日期“2006-01-02 15:04:05”中取相应位。
比如,取时、分、秒:
layout := "15:04:05" //定义期望的格式化格式
date := time.Now()
fmt.Println(date.Format(layout )) //将日期date按定义的格式打印出来
比如,月、日:
layout := "01-02" //定义期望的格式化格式
date := time.Now()
fmt.Println(date.Format(layout )) //将日期date按定义的格式打印出来
明白了吧。固定的日期“2006-01-02 15:04:05”中的相应数字代表你要取的相应格式位。2006-->年、01-->月、...
也就是说,在go中做日期格式化,你必须记住这个怪怪的固定日期。