[datetime] Flutter에서 DateTime을 포맷하는 방법, Flutter에서 현재 시간을 얻는 방법은 무엇입니까?

나는 현재를 표시하려고 DateTime A의 Text버튼을 두드리고 후 위젯을. 다음은 작동하지만 형식을 변경하고 싶습니다.

현재 접근 방식

DateTime now = DateTime.now();
currentTime = new DateTime(now.year, now.month, now.day, now.hour, now.minute);
 Text('$currentTime'),

결과

YYYY-MM-JJ HH-MM:00.000

질문

부품을 어떻게 제거 할 수 :00.000있습니까?



답변

intl 패키지 DateFormat에서 사용할 수 있습니다 .

import 'package:intl/intl.dart';

DateTime now = DateTime.now();
String formattedDate = DateFormat('yyyy-MM-dd – kk:mm').format(now);


답변

파일에 intl 패키지 를 추가 pubspec.yaml하십시오.

import 'package:intl/intl.dart';

DateFormat dateFormat = DateFormat("yyyy-MM-dd HH:mm:ss");

DateTime 개체를 문자열로 변환

String string = dateFormat.format(DateTime.now());

문자열을 DateTime 객체로 변환

DateTime dateTime = dateFormat.parse("2019-07-19 8:40:23");


답변

이 방법을 사용하면 라이브러리를 가져올 필요가 없습니다.

DateTime now = DateTime.now();

String convertedDateTime = "${now.year.toString()}-${now.month.toString().padLeft(2,'0')}-${now.day.toString().padLeft(2,'0')} ${now.hour.toString()}-${now.minute.toString()}";

산출

2020-12-05 14:57


답변

이 패키지 Jiffy를 사용 해보세요 . 또한 Intl 위에서 실행 되지만 momentjs 구문을 사용하면 더 쉽게 사용할 있습니다. 아래 참조

import 'package:jiffy/jiffy.dart';

var now = Jiffy().format("yyyy-MM-dd HH:mm:ss");

다음을 수행 할 수도 있습니다.

var a = Jiffy().yMMMMd; // October 18, 2019

또한 DateTime 객체, 문자열 및 배열을 전달할 수도 있습니다.

var a = Jiffy(DateTime(2019, 10, 18)).yMMMMd; // October 18, 2019

var a = Jiffy("2019-10-18").yMMMMd; // October 18, 2019

var a = Jiffy([2019, 10, 18]).yMMMMd; // October 18, 2019


답변

0.16 이후 약간의 변화가 있습니다. 그래서 여기에서 어떻게했는지,

pubspec.yaml에서 가져 오기

dependencies:
      flutter:
        sdk: flutter
      intl: ^0.16.1

그런 다음 사용

  txdate= DateTime.now()


  DateFormat.yMMMd().format(txdate)


답변

여기 내 간단한 해결책이 있습니다. 종속성이 필요하지 않습니다.

그러나 날짜는 문자열 형식입니다. 시간을 원한다면 하위 문자열 값을 변경하십시오.

print(new DateTime.now()
            .toString()
            .substring(0,10)
     );   // 2020-06-10


답변

이 기능 사용

todayDate() {
    var now = new DateTime.now();
    var formatter = new DateFormat('dd-MM-yyyy');
    String formattedTime = DateFormat('kk:mm:a').format(now);
    String formattedDate = formatter.format(now);
    print(formattedTime);
    print(formattedDate);
  }

산출:

08:41:AM
21-12-2019