jackc/pgx · error

invalid date format

Error message

invalid date format

What it means

Error "invalid date format" thrown in jackc/pgx.

Source

Thrown at pgtype/date.go:289

func (scanPlanTextAnyToDateScanner) Scan(src []byte, dst any) error {
	scanner := (dst).(DateScanner)

	if src == nil {
		return scanner.ScanDate(Date{})
	}

	// Check infinity cases first
	if len(src) == 8 && string(src) == "infinity" {
		return scanner.ScanDate(Date{InfinityModifier: Infinity, Valid: true})
	}
	if len(src) == 9 && string(src) == "-infinity" {
		return scanner.ScanDate(Date{InfinityModifier: -Infinity, Valid: true})
	}

	// Format: YYYY-MM-DD or YYYY...-MM-DD BC
	// Minimum: 10 chars (2000-01-01), with BC: 13 chars
	if len(src) < 10 {
		return fmt.Errorf("invalid date format")
	}

	// Check for BC suffix
	bc := false
	datePart := src
	if len(src) >= 13 && string(src[len(src)-3:]) == " BC" {
		bc = true
		datePart = src[:len(src)-3]
	}

	// Find year-month separator (first dash after at least 4 digits)
	yearEnd := -1
	for i := 4; i < len(datePart); i++ {
		if datePart[i] == '-' {
			yearEnd = i
			break
		}
		if datePart[i] < '0' || datePart[i] > '9' {

View on GitHub (pinned to ec1a0befd2)

When it happens

Trigger: Thrown at pgtype/date.go:289 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of jackc/pgx@ec1a0befd2 (2026-08-04). Data as JSON: /data/errors/c2ea5a5daed1bb1e.json. Report an issue: GitHub.