golang上的gregorian日历包

时间:2017-07-31 07:51:03

标签: go

我正在开展一个项目,并且我想在goLang中使用格里高利历创建一个日期变量,我已经搜索了它,但我没有找到答案 这是我想用java类型代码中的golang做的事情

try {
                final Calendar gc = new GregorianCalendar();
                gc.setTime(simpleDateFormat.parse(callEndDateTime));
                gc.add(Calendar.SECOND, -1 * duration);
                callStartDateTime = simpleDateFormat.format(gc.getTime());
            } catch (final ParseException parseException) {
                LOGGER.error("Couldn't parse the given date: " + callEndDateTime, parseException);
                callStartDateTime = null;
            }

谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

您可以将其设为字符串变量,而不是解析它。

string strDate = "07 31 2017"; //example
DateFormat df = new SimpleDateFormat("dd MM yyyy");
Date date = df.parse(strDate);
Calendar cal =  new GregorianCalendar();
cal.setTime(date);

答案 1 :(得分:0)

时间套餐总是假设您正在使用公历as shown in the documentation

现在,如果你想在golang中解析一个日期时间,那就相当简单,但你必须记住,日期解析器没有使用定义日期格式的“标准”方式。

您可以在the official documentation

中查看如何使用时间解析器的示例
const longForm = "Jan 2, 2006 at 3:04pm (MST)"
t, _ := time.Parse(longForm, "Feb 3, 2013 at 7:54pm (PST)")
fmt.Println(t)

这就是你如何将字符串解析为一个日期。将日期转换为字符串更简单:

t.Format("2006-01-02")

有关详细信息,请参阅documentation