summaryrefslogtreecommitdiff
path: root/styles.go
diff options
context:
space:
mode:
Diffstat (limited to 'styles.go')
-rw-r--r--styles.go22
1 files changed, 10 insertions, 12 deletions
diff --git a/styles.go b/styles.go
index 4369f29..a701a69 100644
--- a/styles.go
+++ b/styles.go
@@ -934,8 +934,6 @@ func formatToE(v string, format string) string {
return fmt.Sprintf("%.e", f)
}
-var dateTimeFormatsCache = map[string]string{}
-
// parseTime provides a function to returns a string parsed using time.Time.
// Replace Excel placeholders with Go time placeholders. For example, replace
// yyyy with 2006. These are in a specific order, due to the fact that m is
@@ -963,11 +961,6 @@ func parseTime(v string, format string) string {
return v
}
- goFmt, found := dateTimeFormatsCache[format]
- if found {
- return val.Format(goFmt)
- }
-
goFmt = format
if strings.Contains(goFmt, "[") {
@@ -1023,9 +1016,17 @@ func parseTime(v string, format string) string {
goFmt = strings.Replace(goFmt, "H", "3", 1)
} else {
goFmt = strings.Replace(goFmt, "hh", "15", 1)
- goFmt = strings.Replace(goFmt, "h", "3", 1)
+ if val.Hour() < 12 {
+ goFmt = strings.Replace(goFmt, "h", "3", 1)
+ } else {
+ goFmt = strings.Replace(goFmt, "h", "15", 1)
+ }
goFmt = strings.Replace(goFmt, "HH", "15", 1)
- goFmt = strings.Replace(goFmt, "H", "3", 1)
+ if val.Hour() < 12 {
+ goFmt = strings.Replace(goFmt, "H", "3", 1)
+ } else {
+ goFmt = strings.Replace(goFmt, "H", "15", 1)
+ }
}
for _, repl := range replacements {
@@ -1045,9 +1046,6 @@ func parseTime(v string, format string) string {
goFmt = strings.Replace(goFmt, "[3]", "3", 1)
goFmt = strings.Replace(goFmt, "[15]", "15", 1)
}
-
- dateTimeFormatsCache[format] = goFmt
-
return val.Format(goFmt)
}