| func (m crmdMeeting) StartDate() string { | func (m crmdMeeting) StartDate() string { | ||||
| t, _ := time.Parse(getCrmTimeLayout(), m.DateStart) | t, _ := time.Parse(getCrmTimeLayout(), m.DateStart) | ||||
| return t.Format("02 January, 2006") | |||||
| AEST, _ := time.LoadLocation("Australia/Sydney") | |||||
| return t.In(AEST).Format("02 January, 2006") | |||||
| } | } | ||||
| func (m crmdMeeting) StartHour() string { | func (m crmdMeeting) StartHour() string { | ||||
| AEST, _ := time.LoadLocation("Australia/Sydney") | |||||
| t, _ := time.Parse(getCrmTimeLayout(), m.DateStart) | t, _ := time.Parse(getCrmTimeLayout(), m.DateStart) | ||||
| return t.Format("15:04") | |||||
| return t.In(AEST).Format("15:04") | |||||
| } | } | ||||
| func (m crmdMeeting) DurationHour() string { | func (m crmdMeeting) DurationHour() string { |
| } | } | ||||
| func TestDecodeDate(t *testing.T) { | func TestDecodeDate(t *testing.T) { | ||||
| layout := "2 January, 2006 15:04" | |||||
| value := "23 July, 2017 10:30" | |||||
| layout := "2 January, 2006 15:04 MST" | |||||
| value := "23 July, 2017 10:30 AEST" | |||||
| tt, err := time.Parse(layout, value) | tt, err := time.Parse(layout, value) | ||||
| if err != nil { | if err != nil { | ||||
| log.Print(err) | log.Print(err) | ||||
| return | return | ||||
| } | } | ||||
| log.Println(tt) | log.Println(tt) | ||||
| utc, err := time.LoadLocation("UTC") | |||||
| log.Println(tt.In(utc)) | |||||
| } | } |
| </div> | </div> | ||||
| <div class="col s12 m12 l12"> | <div class="col s12 m12 l12"> | ||||
| <b>主办方须知</b> | <b>主办方须知</b> | ||||
| <p>活动时间按照澳洲东岸时间(悉尼,墨尔本)时间为准。</p> | |||||
| <p>活动内容将上报校友会备案。校友会全体在册人员将收到你的活动邀请,各位校友自行选择参加或不参加。</p> | <p>活动内容将上报校友会备案。校友会全体在册人员将收到你的活动邀请,各位校友自行选择参加或不参加。</p> | ||||
| <p>主办者将收到具体的人数更新,以及本次活动签到用的二维码。</p> | <p>主办者将收到具体的人数更新,以及本次活动签到用的二维码。</p> | ||||
| <p>所有当天参加活动的校友,通过公众号扫码即可签到</p> | <p>所有当天参加活动的校友,通过公众号扫码即可签到</p> |
| } | } | ||||
| func (m *crmdMeeting) buildStartDate(date, hour, duration string) { | func (m *crmdMeeting) buildStartDate(date, hour, duration string) { | ||||
| layout := "2 January, 2006 15:04" | |||||
| value := strings.TrimSpace(date) + " " + strings.TrimSpace(hour) | |||||
| layout := "2 January, 2006 15:04 MST" | |||||
| value := strings.TrimSpace(date) + " " + strings.TrimSpace(hour) + " AEST" //Force Sydney time | |||||
| t, err := time.Parse(layout, value) | t, err := time.Parse(layout, value) | ||||
| if err != nil { | if err != nil { | ||||
| m.addSpaErr("开始日期,时间,无法识别") | m.addSpaErr("开始日期,时间,无法识别") | ||||
| return | return | ||||
| } | } | ||||
| m.DateStart = t.Format(getCrmTimeLayout()) | |||||
| log.Println(m.DateStart) | |||||
| utc, err := time.LoadLocation("UTC") | |||||
| if err == nil { | |||||
| m.DateStart = t.In(utc).Format(getCrmTimeLayout()) | |||||
| log.Println(m.DateStart) | |||||
| m.buildDuration(duration) | |||||
| m.DateEnd = t.Add(time.Second * time.Duration(m.Duration)).Format(getCrmTimeLayout()) | |||||
| m.buildDuration(duration) | |||||
| m.DateEnd = t.In(utc).Add(time.Second * time.Duration(m.Duration)).Format(getCrmTimeLayout()) | |||||
| } | |||||
| } | } | ||||
| func (m *crmdMeeting) buildDuration(duration string) { | func (m *crmdMeeting) buildDuration(duration string) { |