|
|
|
@ -1,12 +1,15 @@
|
|
|
|
|
import { useEffect, useState } from 'react';
|
|
|
|
|
import { Typography, Select } from 'antd';
|
|
|
|
|
import ct from 'countries-and-timezones';
|
|
|
|
|
import { useVisibilityState } from '@/hooks/useVisibilityState';
|
|
|
|
|
|
|
|
|
|
const LocalTimeClock = ({ region, timezone, ...props }) => {
|
|
|
|
|
const isVisible = useVisibilityState();
|
|
|
|
|
|
|
|
|
|
const [countryTimezones, setCountryTimezones] = useState([]);
|
|
|
|
|
const [timezoneP, setTimezoneP] = useState(timezone);
|
|
|
|
|
const [customerDateTime, setCustomerDateTime] = useState();
|
|
|
|
|
console.log(timezone, timezoneP);
|
|
|
|
|
// console.log(timezone, timezoneP);
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
if (timezone) {
|
|
|
|
@ -26,8 +29,9 @@ const LocalTimeClock = ({ region, timezone, ...props }) => {
|
|
|
|
|
}, [region, timezone]);
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
const interval = setInterval(() => {
|
|
|
|
|
// const date = new Date();
|
|
|
|
|
let interval;
|
|
|
|
|
if (isVisible) {
|
|
|
|
|
interval = setInterval(() => {
|
|
|
|
|
const options = {
|
|
|
|
|
timeZone: timezoneP,
|
|
|
|
|
timeZoneName: 'short',
|
|
|
|
@ -36,13 +40,18 @@ const LocalTimeClock = ({ region, timezone, ...props }) => {
|
|
|
|
|
day: '2-digit',
|
|
|
|
|
hour: '2-digit',
|
|
|
|
|
minute: '2-digit',
|
|
|
|
|
// second: '2-digit',
|
|
|
|
|
};
|
|
|
|
|
// const date = new Date();
|
|
|
|
|
// const formatter = new Intl.DateTimeFormat('en-US', options);
|
|
|
|
|
// setCustomerDateTime(formatter.format(date));
|
|
|
|
|
setCustomerDateTime(new Date().toLocaleTimeString('cn-ZH', options));
|
|
|
|
|
}, 1000);
|
|
|
|
|
} else {
|
|
|
|
|
clearInterval(interval);
|
|
|
|
|
}
|
|
|
|
|
return () => clearInterval(interval);
|
|
|
|
|
}, [timezoneP]);
|
|
|
|
|
}, [isVisible, timezoneP]);
|
|
|
|
|
|
|
|
|
|
return region ? (
|
|
|
|
|
<>
|
|
|
|
|