summaryrefslogtreecommitdiffstats
path: root/modules/setting
diff options
context:
space:
mode:
authorʿAhed ʿid <Ahed91@users.noreply.github.com>2017-02-04 14:37:50 +0200
committerLunny Xiao <xiaolunwen@gmail.com>2017-02-04 20:37:50 +0800
commit49fa03bf4286bd2cbf90b271fb65d4f70e5de57f (patch)
tree1f7ba2e5cafa11a9c369a73967da98875fd00d94 /modules/setting
parentd0960b80354c0c8326063c8408d2274adb50dec1 (diff)
downloadgitea-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.go12
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.