来自
الثلاثاء 01 يونيو 2021
至
01/05/2021
如何将字符串阿拉伯语转换为日期格式的英语,从الثلاداء01يوني㻬2021到01/05/2021 jj/mm/yyyy dart语言形式字符串转换为
我找到了解决方案
static int checkarabicdate(Date) {
String mm ="";
String dt = Date.substring(Date.indexOf(RegExp(r'[0-9]')),Date.length-1);
print(dt);
var currentDate = DateTime.now();
String formattedDate = DateFormat('dd/MM/yyyy').format(currentDate);
DateTime date1 = new DateFormat('dd/MM/yyyy').parse(formattedDate);
print(date1);
List<String> validadeSplit = dt.split(' ');
String day = validadeSplit[0].toString();
print(day);
String month = validadeSplit[1].toString();
print(month);
String year = validadeSplit[2].toString();
print(year);
// var parsedDate = DateTime.parse('$year-$month-$day 00:00:00.000');
if(month=="يناير") {
mm = "01";
}
else if(month=="فبراير") {
mm = "02";
}
else if(month=="مارس") {
mm = "03";
}
else if(month=="أبريل") {
mm = "04";
}
else if(month=="مايو") {
mm = "05";
}
else if(month=="يونيو") {
mm = "06";
}
else if(month=="يوليو") {
mm = "07";
}
else if(month=="أغسطس") {
mm = "08";
}
else if(month=="سبتمبر") {
mm = "09";
}
else if(month=="أكتوبر") {
mm = "10";
}
else if(month=="نوفمبر") {
mm = "11";
}
else if(month=="ديسمبر") {
mm = "12";
}
else mm ="01";
DateTime start = DateTime.parse('$year-$mm-$day'.replaceAll(' ', ''));
print(start);
// DateTime date2= new DateFormat('dd/MM/yyyy').parse(date);
//print(parsedDate);
date1 = DateTime(date1.year, date1.month, date1.day);
start = DateTime(start.year, start.month, start.day);
final differenceInDays = (date1.difference(start).inHours / 24).round();
print('$differenceInDays');
return differenceInDays;
}