@ -26,6 +26,8 @@ import type {
TimeValue
} from './types' ;
import { getCachedDateFormat , getDefaultHourCycle , getPlaceholder } from './format' ;
import { hasTime , isZonedDateTime } from './queries' ;
import { convertTimeValueToDateValue , dateValueToDate } from './operations' ;
/ * *
* Segment placeholder text shown when a segment is empty . Delegates to dias '
@ -42,8 +44,6 @@ function getSegmentPlaceholder(
if ( part === 'second' ) return 'ss' ;
return getPlaceholder ( part , '' , locale ) ;
}
import { hasTime , isZonedDateTime } from './queries' ;
import { convertTimeValueToDateValue , dateValueToDate } from './operations' ;
// ── Constants ───────────────────────────────────────────────────────────────
@ -400,15 +400,7 @@ function buildSegmentContentObj(input: CreateSegmentContentInput): SegmentConten
} ) ;
if ( part === 'hour' && has12HourClock ) {
if ( intValue > 12 ) {
const hour = intValue - 12 ;
if ( hour === 0 ) return '12' ;
if ( hour < 10 ) return ` 0 ${ hour } ` ;
return ` ${ hour } ` ;
}
if ( intValue === 0 ) return '12' ;
if ( intValue < 10 ) return ` 0 ${ intValue } ` ;
return ` ${ intValue } ` ;
return format12HourSegment ( intValue ) ;
}
if ( part === 'year' ) return ` ${ value } ` ;
@ -564,15 +556,7 @@ function buildTimeContentObj(input: CreateTimeSegmentContentInput): TimeSegmentC
} ) ;
if ( part === 'hour' && has12HourClock ) {
if ( intValue > 12 ) {
const hour = intValue - 12 ;
if ( hour === 0 ) return '12' ;
if ( hour < 10 ) return ` 0 ${ hour } ` ;
return ` ${ hour } ` ;
}
if ( intValue === 0 ) return '12' ;
if ( intValue < 10 ) return ` 0 ${ intValue } ` ;
return ` ${ intValue } ` ;
return format12HourSegment ( intValue ) ;
}
if ( leadingZero && formatted . length === 1 ) return ` 0 ${ formatted } ` ;
@ -584,6 +568,18 @@ function buildTimeContentObj(input: CreateTimeSegmentContentInput): TimeSegmentC
return content ;
}
function format12HourSegment ( hour24 : number ) : string {
if ( hour24 > 12 ) {
const hour = hour24 - 12 ;
if ( hour === 0 ) return '12' ;
if ( hour < 10 ) return ` 0 ${ hour } ` ;
return ` ${ hour } ` ;
}
if ( hour24 === 0 ) return '12' ;
if ( hour24 < 10 ) return ` 0 ${ hour24 } ` ;
return ` ${ hour24 } ` ;
}
function buildTimeContentArr (
input : CreateTimeSegmentContentInput & { contentObj : TimeSegmentContentObj }
) : Array < { part : TimeSegmentPart ; value : string } > {