如何大写日期格式中的第一个字母?



我在手机上使用FRENCH语言。

DateFormat('MMMMEEEEd').format(DateTime.now()) 

打印vendredi 11 novembre

预期输出=>Vendredi 11 novembre

有没有办法大写第一个字母而不使用字符串方法?

我不想用toUpperCase()方法将字符串的第一个字母大写

标准的法国工作日是小写的。所以没有函数把它变成大写。这将打破标准化规则。你需要自己处理这件事。

用法语大写

import 'package:intl/intl.dart';
import 'package:intl/date_symbol_data_local.dart';
void main(){
getDate(String lang){
switch (lang){
case 'fr':
String date;
initializeDateFormatting('fr_FR', null).then((_) => {
date = DateFormat.MMMMEEEEd(lang).format(DateTime.now()),
date = date.replaceRange(
0,
1, 
date.substring(0,1).toUpperCase(),
),
print(date)
});
break;
case 'en':
initializeDateFormatting('en_US', null).then((_) => {
print(DateFormat.MMMMEEEEd(lang).format(DateTime.now()))
});
break;
}
}

getDate('fr');
getDate('en');
}

输出:

Vendredi 11 novembre
Friday, November 11

您可以创建subString

final data = "vendredi 11 novembre";
if (data.length > 1) { //just making sure string length
final result = data[0].toUpperCase() + data.substring(1);
print(result); //Vendredi 11 novembre
}

您还可以创建扩展或方法。更多关于String

最新更新