簡體   English   中英

從反應原生日期時間選擇器獲取人類可讀的時間

[英]Get human readable time from react native datetime picker

import React from 'react';
import { Text, Button } from 'react-native';
import RNDateTimePicker from '@react-native-community/datetimepicker';

const Timer = ({}) => {
    const [picker, setPicker] = React.useState({time: null, date: null});
    const [mode, setMode] = React.useState(null);

    const setTimer = (event, time) => {
         if (mode == 'date') {
             if (time) setPicker(e => ({...e, date: time}));
             setMode('time');
         } else if (time && picker.date ) {
             setPicker(e => ({...e, time: time}));
             // do something here   
        }
    }

    const humanReadable = () => {/* return human readable date time format (2022/05:31 13:59:00) */}

    return (
        <>
             <Text>{ humanReadable() }</Text>
             <Button value="Get Date & Time" onPress={() => setMode("date")} />
             { 
                 mode && (
                     <RNDateTimePicker 
                           onChange={setTimer} 
                           mode={mode}
                           display={mode=='date' ? "calendar" : "clock"}
                           themeVariant="light" 
                           value={picker[mode] ?? new Date()} 
                     />
                 )
             }
        </>
    )
}

因為我正在使用 android。 所以我沒有設置模式“日期時間”的選項。 這就是為什么我在這里添加了這個。 我的問題是如何獲得人類可讀的日期時間

也許看看這個庫https://date-fns.org

這是我如何使用它:

//IMPORT FIRST 
import { format } from 'date-fns';
import { fr } from 'date-fns/locale';

//THEN IN YOUR JSX
           <Text>
           {format(dateValue, 'dd MMMM yyyy', { locale: fr })}
           </Text>

您可以使用moment.js

它是格式化日期的一個了不起的模塊。 請看一看。

對於您的格式,您可以執行以下操作,

 import moment from 'moment'; moment().format("YYYY/MM/DD hh:mm:ss");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM