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
4 Réponses :
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
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}");
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
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