web-dev-qa-db-fra.com

Comment puis-je obtenir la date actuelle (sans heure et minutes)?

Tout ce que je peux voir dans la documentation est Datetime.now() mais ça renvoie le Timespan, j'ai juste besoin de la date.

28
user2070369

Créez une nouvelle date à partir de now avec uniquement les pièces dont vous avez besoin:

DateTime now = new DateTime.now();
DateTime date = new DateTime(now.year, now.month, now.day);
20
Günter Zöchbauer

Il n'y a pas de classe dans les bibliothèques de base pour modéliser une date sans heure. Vous devez utiliser new DateTime.now().

Sachez que la date dépend du fuseau horaire: 2016-01-20 02:00:00 à Paris est le même instant que 2016-01-19 17:00:00 à Seattle mais le jour n'est pas le même.

3
Alexandre Ardhuin

Si vous souhaitez uniquement la date sans horodatage. Vous pouvez prendre l'aide du package intl.

    main() {
      var now = new DateTime.now();
      var formatter = new DateFormat('yyyy-MM-dd');
      String formattedDate = formatter.format(now);
      print(formattedDate); // 2016-01-25
    } 

Cela nécessite le package intl

3
Eternalcode

vous pouvez obtenir la date actuelle

 final now = new DateTime.now();
 String formatter = DateFormat('yMd').format(now); =>returns28/03/2020

Vous vous demandez comment vous souvenez-vous du format de la date (DateFormat('yMd'))?

A. => Alors Flutter Docs est la réponse

La classe DateFormat permet à l'utilisateur de choisir parmi un ensemble de formats de date et d'heure standard ainsi que de spécifier un modèle personnalisé sous certains paramètres régionaux. Tiré directement des documents

ICU Name                   Skeleton
 --------                   --------
 DAY                          d
 ABBR_WEEKDAY                 E
 WEEKDAY                      EEEE
 ABBR_STANDALONE_MONTH        LLL
 STANDALONE_MONTH             LLLL
 NUM_MONTH                    M
 NUM_MONTH_DAY                Md
 NUM_MONTH_WEEKDAY_DAY        MEd
 ABBR_MONTH                   MMM
 ABBR_MONTH_DAY               MMMd
 ABBR_MONTH_WEEKDAY_DAY       MMMEd
 MONTH                        MMMM
 MONTH_DAY                    MMMMd
 MONTH_WEEKDAY_DAY            MMMMEEEEd
 ABBR_QUARTER                 QQQ
 QUARTER                      QQQQ
 YEAR                         y
 YEAR_NUM_MONTH               yM
 YEAR_NUM_MONTH_DAY           yMd
 YEAR_NUM_MONTH_WEEKDAY_DAY   yMEd
 YEAR_ABBR_MONTH              yMMM
 YEAR_ABBR_MONTH_DAY          yMMMd
 YEAR_ABBR_MONTH_WEEKDAY_DAY  yMMMEd
 YEAR_MONTH                   yMMMM
 YEAR_MONTH_DAY               yMMMMd
 YEAR_MONTH_WEEKDAY_DAY       yMMMMEEEEd
 YEAR_ABBR_QUARTER            yQQQ
 YEAR_QUARTER                 yQQQQ
 HOUR24                       H
 HOUR24_MINUTE                Hm
 HOUR24_MINUTE_SECOND         Hms
 HOUR                         j
 HOUR_MINUTE                  jm
 HOUR_MINUTE_SECOND           jms
 HOUR_MINUTE_GENERIC_TZ       jmv
 HOUR_MINUTE_TZ               jmz
 HOUR_GENERIC_TZ              jv
 HOUR_TZ                      jz
 MINUTE                       m
 MINUTE_SECOND                ms
 SECOND                       s

/// Examples Using the US Locale:
///      Pattern                           Result
///      ----------------                  -------
         new DateFormat.yMd()             -> 7/10/1996
         new DateFormat('yMd')            -> 7/10/1996
         new DateFormat.yMMMMd('en_US')   -> July 10, 1996
         new DateFormat.jm()              -> 5:08 PM
         new DateFormat.yMd().add_jm()    -> 7/10/1996 5:08 PM
         new DateFormat.Hm()              -> 17:08 // force 24 hour time

J'espère maintenant que vous pouvez obtenir tout type de format de date requis en utilisant les formats ci-dessus.

1
maheshmnj

Si vous préférez un format plus concis et sur une seule ligne, basé sur la réponse de Günter Zöchbauer, vous pouvez également écrire:

DateTime dateToday = DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day) ; 

Cependant, cela fera 3 appels à DateTime.now (), la variable supplémentaire ne sera pas requise, surtout si elle est utilisée avec l'opérateur ternaire Dart ou à l'intérieur du bloc de code Flutter UI.

1
Mayur Dhurpate