我想将字符串(12小时)“ 6:45 PM”转换为18:45:00(24小时)TimeOfDay格式,怎么办?
答案 0 :(得分:2)
您可以尝试使用DateFormat,只需将pubspec.yaml包含intl依赖项
首先将值解析为日期,然后根据需要设置其格式
import 'package:intl/intl.dart';
// parse date
DateTime date= DateFormat.jm().parse("6:45 PM");
DateTime date2= DateFormat("hh:mma").parse("6:45PM"); // think this will work better for you
// format date
print(DateFormat("HH:mm").format(date));
print(DateFormat("HH:mm").format(date2));
参考
答案 1 :(得分:0)
尝试一下:
var df = DateFormat("h:mma");
var dt = df.parse('6:45PM');
print(DateFormat('HH:mm').format(dt));
答案 2 :(得分:0)
对于“ hh:mm:ssPM”或“ hh:mm:ssAM”-
String [] splitedString = yourString.split(":");
String newFormat = splitedString[2].contain("PM") ? String.valueOf(Integer.parseInt(splitedString[0]) + 12) : splitedString[0] + ":" + splitedString[1] + ":" + splitedString[2].substring(0,2);