有人知道如何从DateTime中提取星期几的名称?
ej:
DateTime date = DateTime.now();
String dateFormat = DateFormat('dd-MM-yyyy hh:mm').format(date);
结果->星期五
答案 0 :(得分:4)
使用“ EEEE”作为日期格式
DateFormat('EEEE').format(date);
请检查此以获取更多信息:https://docs.flutter.io/flutter/intl/DateFormat-class.html
答案 1 :(得分:2)
在您的 pubspec.yaml 文件的依存关系部分中。 像这样添加 intl 依赖项:
# pass to ReactJS app
upstream demotool {
server 0.0.0.0:3000/demo;
}
server {
listen 80;
server_name avt1.example.com www.avt1.example.com;
location /demo {
proxy_pass demotool;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
更多关于intl依赖的信息: https://pub.dev/packages/intl#-installing-tab-
,然后在您的dart文件导入的顶部:
dependencies:
intl: ^0.16.0 // <-- dependency added here, remember to remove this comment
// other dependencies . remove this comment too
现在您可以根据需要使用DateFormat,下面是一个示例:
import 'package:intl/intl.dart';
DateFormat可以使用多种格式,更多详细信息请参见: https://api.flutter.dev/flutter/intl/DateFormat-class.html
希望这会有所帮助。 谢谢
答案 2 :(得分:1)
您可以仅使用.weekday方法来查找day。 例如:
DateTime date = DateTime.now();
print("weekday is ${date.weekday}");
这将返回星期几,例如,星期二是2,如下所示
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;
答案 3 :(得分:1)
您可以使用以下方法获得所需的结果。您可以根据自己的喜好更改return语句。 (这是如果您要跳过使用intl包的情况)
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();
}
您可以调用上述方法
dateFormatter(DateTime.now())
产生结果-2020年4月11日,星期六
答案 4 :(得分:0)
扩展是很好的解决方案。您也可以在工作日进行。
extension DateTimeExtension on DateTime {
String getMonthString() {
switch (month) {
case 1:
return 'Jan.';
case 2:
return 'Feb.';
case 3:
return 'Mar.';
case 4:
return 'Apr.';
case 5:
return 'May';
case 6:
return 'Jun.';
case 7:
return 'Jul.';
case 8:
return 'Aug.';
case 9:
return 'Sept.';
case 10:
return 'Oct.';
case 11:
return 'Nov.';
case 12:
return 'Dec.';
default:
return 'Err';
}
}
}