aboutsummaryrefslogtreecommitdiff
path: root/src/components/Clock.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/Clock.tsx')
-rw-r--r--src/components/Clock.tsx37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/components/Clock.tsx b/src/components/Clock.tsx
new file mode 100644
index 0000000..113201f
--- /dev/null
+++ b/src/components/Clock.tsx
@@ -0,0 +1,37 @@
+import React, {useEffect, useMemo, useState} from 'react';
+import {Text, View} from 'react-native';
+
+export const Clock: React.FC = () => {
+ const [date, setDate] = useState(() => new Date());
+ useEffect(() => {
+ const interval = setInterval(() => {
+ setDate(new Date());
+ }, 5000);
+ return () => clearInterval(interval);
+ }, []);
+
+ const timeText = useMemo(() => {
+ const formatter = new Intl.DateTimeFormat('en', {
+ hour: 'numeric',
+ minute: 'numeric',
+ second: 'numeric',
+ });
+ return formatter.format(date);
+ }, [date]);
+
+ const dateText = useMemo(() => {
+ const formatter = new Intl.DateTimeFormat('en-IN', {
+ month: 'short',
+ day: 'numeric',
+ weekday: 'long',
+ });
+ return formatter.format(date);
+ }, [date]);
+
+ return (
+ <View className="p-6">
+ <Text className="text-3xl font-bold">{timeText}</Text>
+ <Text className="text-lg">{dateText}</Text>
+ </View>
+ );
+};