24
votes

Comment obtenir le nom des jours de la semaine dans Dart

Quelqu'un sait comment puis-je extraire de DateTime le nom du jour de la semaine?

ej:

DateTime date = DateTime.now();
String dateFormat = DateFormat('dd-MM-yyyy hh:mm').format(date);

Résultat -> Vendredi


0 commentaires

4 Réponses :


46
votes

Utilisez 'EEEE' comme modèle de date

 DateFormat('EEEE').format(date);

Vérifiez ceci pour plus d'informations: https://docs.flutter.io/flutter/intl/DateFormat-class.html


0 commentaires

15
votes

Vous pouvez simplement utiliser la méthode .weekday pour connaître le jour. par exemple:

class DateTime implements Comparable<DateTime> {
      // Weekday constants that are returned by [weekday] method:
      static const int monday = 1;
      static const int tuesday = 2;
      static const int wednesday = 3;
      static const int thursday = 4;
      static const int friday = 5;
      static const int saturday = 6;
      static const int sunday = 7;
      static const int daysPerWeek = 7;

Cela renverra le numéro de la semaine, par exemple mardi est 2, comme indiqué ci-dessous

 DateTime date = DateTime.now();
 print("weekday is ${date.weekday}");


0 commentaires

19
votes

dans votre fichier pubspec.yaml , section dépendances. ajoutez une dépendance intl comme ceci:

var date = DateTime.now();
print(date.toString()); // prints something like 2019-12-10 10:02:22.287949
print(DateFormat('EEEE').format(date)); // prints Tuesday
print(DateFormat('EEEE, d MMM, yyyy').format(date)); // prints Tuesday, 10 Dec, 2019
print(DateFormat('h:mm a').format(date)); // prints 10:02 AM

plus sur la dépendance intl ici: intl

Ce package fournit des fonctionnalités d'internationalisation et de localisation, y compris la traduction des messages, les pluriels et les sexes, le formatage et l'analyse des dates / nombres, et le texte bidirectionnel.

puis en haut de votre importation de fichier de fléchettes:

import 'package:intl/intl.dart';

maintenant vous pouvez utiliser DateFormat comme vous le souhaitez, voici un exemple:

dependencies:
  intl: ^0.16.0 // <-- dependency added here, remember to remove this comment
  // other dependencies . remove this comment too

il existe de nombreux formats que vous pouvez utiliser avec DateFormat, plus de détails ici: https://api.flutter.dev/flutter/intl/DateFormat-class.html

J'espère que cela t'aides. Merci


0 commentaires

1
votes

Vous pouvez utiliser la méthode ci-dessous pour obtenir le résultat souhaité. La déclaration de retour peut être modifiée selon vos préférences. (C'est si vous souhaitez ignorer l'utilisation du package intl)

dateFormatter(DateTime.now())

Vous pouvez appeler la méthode ci-dessus comme

String dateFormatter(DateTime date) {
  dynamic dayData =
      '{ "1" : "Mon", "2" : "Tue", "3" : "Wed", "4" : "Thur", "5" : "Fri", "6" : "Sat", "7" : "Sun" }';

  dynamic monthData =
      '{ "1" : "Jan", "2" : "Feb", "3" : "Mar", "4" : "Apr", "5" : "May", "6" : "June", "7" : "Jul", "8" : "Aug", "9" : "Sep", "10" : "Oct", "11" : "Nov", "12" : "Dec" }';

  return json.decode(dayData)['${date.weekday}'] +
      ", " +
      date.day.toString() +
      " " +
      json.decode(monthData)['${date.month}'] +
      " " +
      date.year.toString();
}

Le produit le résultat - sam, 11 avr 2020


0 commentaires