Получение текущего времени в правильном формате — React-Native

#react-native

#react-native

Вопрос:

Я могу получить функцию даты напрямую, используя moment.js но когда минут меньше 10, значение 0 отображаться не будет.

Пожалуйста, смотрите рисунок ниже, например.

введите описание изображения здесь

предполагается, что время должно быть 12:02 и 12:03

 constructor(props) {
      super(props);
      this.state = {
        datetimefinish: '',
      };
    }


  componentDidMount() {
      var that = this;
      var date = new Date().getDate('0'   Number()); //Current Date
      var month = new Date().getMonth()   1; //Current Month
      var year = new Date().getFullYear(); //Current Year
      var hours = new Date().getHours(); //Current Hours
      var min = new Date().getMinutes(); //Current Minutes
      var sec = new Date().getSeconds(); //Current Seconds

      that.setState({
        //Setting the value of the date time
        datetimefinish:
           hours   ':'   min
      });
    }

<Text style={styles.text}>{this.state.datetimefinish}</Text>
  

Комментарии:

1. использовать moment.js вместо этого или вы можете просто объединить «0» на основе логики.

Ответ №1:

Пожалуйста, попробуйте это, если используете moment.js чтобы получить дату и время

 componentDidMount() {
 var that = this;
 var date = moment()
.format(' HH:mm');
that.setState({ datetime: date });}
  

Ответ №2:

Вы можете решить с помощью этого:

 ...
that.setState({
        datetimefinish:
           `${("0"   hours).slice(-2)}:${("0"   min).slice(-2)}`
      });
...

  

Ответ №3:

Вы можете попробовать этот код и проанализировать строку, если вам нужно некоторое значение подстроки

 var time = new Date();

document.getElementsByTagName("p")[0].innerHTML=time.toTimeString().substring(0, 5);  
 <p id="time"> </p>  

В вашем случае вы можете использовать этот код

 <Text style={styles.text}>{this.state.time.toTimeString().substring(0, 5)}</Text>
  

Примером может быть это приложение для часовых поясов