diff options
author | ʿAhed ʿid <Ahed91@users.noreply.github.com> | 2017-02-04 14:37:50 +0200 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2017-02-04 20:37:50 +0800 |
commit | 49fa03bf4286bd2cbf90b271fb65d4f70e5de57f (patch) | |
tree | 1f7ba2e5cafa11a9c369a73967da98875fd00d94 /modules/setting | |
parent | d0960b80354c0c8326063c8408d2274adb50dec1 (diff) | |
download | gitea-49fa03bf4286bd2cbf90b271fb65d4f70e5de57f.tar.gz gitea-49fa03bf4286bd2cbf90b271fb65d4f70e5de57f.zip |
Allow using custom time format (#798)
* Allow using custom time format
I need to use custom time format in `conf/app.ini' like
FORMAT = 2006-01-02 15:04:05
so that Gitea will display '2017-01-30 08:41:49'
check this answer for more constants to format date <http://stackoverflow.com/a/20234207/2570425>
PS: First GO commit
* Refactor and validate TimeFormat (must have 2006, 01, 02, 15, 04 and 05)
Diffstat (limited to 'modules/setting')
-rw-r--r-- | modules/setting/setting.go | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/modules/setting/setting.go b/modules/setting/setting.go index ae7b8beb3a..51f5c2a454 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -732,6 +732,7 @@ please consider changing to GITEA_CUSTOM`) AttachmentMaxFiles = sec.Key("MAX_FILES").MustInt(5) AttachmentEnabled = sec.Key("ENABLE").MustBool(true) + TimeFormatKey := Cfg.Section("time").Key("FORMAT").MustString("RFC1123") TimeFormat = map[string]string{ "ANSIC": time.ANSIC, "UnixDate": time.UnixDate, @@ -748,7 +749,16 @@ please consider changing to GITEA_CUSTOM`) "StampMilli": time.StampMilli, "StampMicro": time.StampMicro, "StampNano": time.StampNano, - }[Cfg.Section("time").Key("FORMAT").MustString("RFC1123")] + }[TimeFormatKey] + // When the TimeFormatKey does not exist in the previous map e.g.'2006-01-02 15:04:05' + if len(TimeFormat) == 0 { + TimeFormat = TimeFormatKey + TestTimeFormat, _ := time.Parse(TimeFormat, TimeFormat) + if TestTimeFormat.Format(time.RFC3339) != "2006-01-02T15:04:05Z" { + log.Fatal(4, "Can't create time properly, please check your time format has 2006, 01, 02, 15, 04 and 05") + } + log.Trace("Custom TimeFormat: %s", TimeFormat) + } RunUser = Cfg.Section("").Key("RUN_USER").MustString(user.CurrentUsername()) // Does not check run user when the install lock is off. |