feat(workspace): format origin callout date and time when converting thought to document
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 47s
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 47s
This commit is contained in:
1 parent
1ada978f9e
commit
dccf1a91e3
2 files changed
+64
-1
No files matched your search
@@ -40,6 +40,58 @@ func ExtractTags(content string) []string {
|
||||
return tags
|
||||
}
|
||||
|
||||
// FormatGermanDateTime formats an ISO-8601 string into "25. Okt. 2026 - 15:40 Uhr"
|
||||
func FormatGermanDateTime(isoStr string) string {
|
||||
if isoStr == "" {
|
||||
return ""
|
||||
}
|
||||
var t time.Time
|
||||
var err error
|
||||
formats := []string{
|
||||
time.RFC3339Nano,
|
||||
time.RFC3339,
|
||||
"2006-01-02T15:04:05Z07:00",
|
||||
"2006-01-02T15:04:05",
|
||||
"2006-01-02 15:04:05",
|
||||
"2006-01-02",
|
||||
}
|
||||
for _, f := range formats {
|
||||
if parsed, parseErr := time.Parse(f, isoStr); parseErr == nil {
|
||||
t = parsed
|
||||
err = nil
|
||||
break
|
||||
} else {
|
||||
err = parseErr
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
return isoStr
|
||||
}
|
||||
|
||||
t = t.Local()
|
||||
|
||||
germanMonths := map[time.Month]string{
|
||||
time.January: "Jan.",
|
||||
time.February: "Feb.",
|
||||
time.March: "März",
|
||||
time.April: "Apr.",
|
||||
time.May: "Mai",
|
||||
time.June: "Juni",
|
||||
time.July: "Juli",
|
||||
time.August: "Aug.",
|
||||
time.September: "Sept.",
|
||||
time.October: "Okt.",
|
||||
time.November: "Nov.",
|
||||
time.December: "Dez.",
|
||||
}
|
||||
mStr := germanMonths[t.Month()]
|
||||
if mStr == "" {
|
||||
mStr = t.Format("Jan")
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%d. %s %d - %02d:%02d Uhr", t.Day(), mStr, t.Year(), t.Hour(), t.Minute())
|
||||
}
|
||||
|
||||
type User struct {
|
||||
ID string `json:"id"`
|
||||
Email string `json:"email"`
|
||||
|
||||
Reference in new issue
Block a user