add FormatDateSpanish

This commit is contained in:
Pedro Pérez 2025-01-28 15:57:29 +01:00
parent 4782a04fa7
commit 5686b58666
4 changed files with 40 additions and 25 deletions

View File

@ -22,28 +22,30 @@ import (
const ( const (
// Handlers keys // Handlers keys
InvalidRequest string = "invalid_request" InvalidRequest string = "invalid_request"
MalformedJSON string = "malformed_json" MalformedJSON string = "malformed_json"
TokenBlacklisted string = "token_blacklisted" TokenBlacklisted string = "token_blacklisted"
TokenInvalid string = "token_invalid" TokenInvalid string = "token_invalid"
ValidationFailed string = "validation_failed" ValidationFailed string = "validation_failed"
UntilBeforeTo string = "until_before_to" UntilBeforeTo string = "until_before_to"
InternalError string = "internal_error" InternalError string = "internal_error"
NotFound string = "not_found" NotFound string = "not_found"
Created string = "created" Created string = "created"
Updated string = "updated" Updated string = "updated"
Deleted string = "deleted" Deleted string = "deleted"
Enabled string = "enabled" Enabled string = "enabled"
Disabled string = "disabled" Disabled string = "disabled"
Retrieved string = "retrieved" Retrieved string = "retrieved"
ErrorCreating string = "error_creating" ErrorCreating string = "error_creating"
ErrorUpdating string = "error_updating" ErrorUpdating string = "error_updating"
ErrorEnabling string = "error_enabling" ErrorEnabling string = "error_enabling"
ErrorDisabling string = "error_disabling" ErrorDisabling string = "error_disabling"
ErrorGetting string = "error_getting" ErrorGetting string = "error_getting"
ErrorGettingAll string = "error_getting_all" ErrorGettingAll string = "error_getting_all"
InvalidEntityID string = "invalid_entity_id" ErrorMailing string = "error_mailing"
NotImplemented string = "not_implemented" InvalidEntityID string = "invalid_entity_id"
NotImplemented string = "not_implemented"
NotPassValidation string = "not_pass_validation"
// User keys // User keys
UserUsernameKey string = "username_key" UserUsernameKey string = "username_key"

2
go.mod
View File

@ -38,6 +38,6 @@ require (
golang.org/x/crypto v0.28.0 // indirect golang.org/x/crypto v0.28.0 // indirect
golang.org/x/net v0.30.0 // indirect golang.org/x/net v0.30.0 // indirect
golang.org/x/sync v0.8.0 // indirect golang.org/x/sync v0.8.0 // indirect
golang.org/x/sys v0.26.0 // indirect golang.org/x/sys v0.28.0 // indirect
golang.org/x/text v0.19.0 golang.org/x/text v0.19.0
) )

4
go.sum
View File

@ -114,8 +114,8 @@ golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@ -4,6 +4,7 @@ import (
"fmt" "fmt"
"log/slog" "log/slog"
"regexp" "regexp"
"strconv"
"strings" "strings"
"time" "time"
"unicode" "unicode"
@ -61,3 +62,15 @@ func Slugify(s string) string {
func isMn(r rune) bool { func isMn(r rune) bool {
return unicode.Is(unicode.Mn, r) return unicode.Is(unicode.Mn, r)
} }
func FormatDateSpanish(date time.Time) string {
months := []string{"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"}
days := []string{"domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"}
dayName := days[date.Weekday()]
day := date.Day()
month := months[date.Month()-1]
year := date.Year()
return dayName + ", " + strconv.Itoa(day) + " de " + month + " de " + strconv.Itoa(year)
}