所以我试图将24小时格式转换为12小时格式的时间,就像我的输入一首和应该是下午1:00我没有找到正确的图书馆,所以有人能帮我吗?提前感谢。
首先拆分字符串
var splitTime = inputString.split(":");
然后将第一个值转换为整型
int hour = int.parse(splitTime[0]);
检查小时是否大于12
String suffix = "am";
if(hour >= 12)
{
hour -= 12;
suffix = "pm";
}
总结使用这个方法
String twelveHourVal(String inputString)
{
var splitTime = inputString.split(":");
int hour = int.parse(splitTime[0]);
String suffix = "am";
if(hour >= 12)
{
hour -= 12;
suffix = "pm";
}
String twelveHourVal = '$hour:${splitTime[1]} $suffix';
return twelveHourVal;
}
Dart intl框架可以帮助您将日期和时间格式化为您想要的类型。
https://pub.dev/packages/intl
的例子:
DateFormat("h:mma").format(date);
input 24hrs--0:30
output 12hrs--12:30 am
main(){
String t = "0:30";
print("input 24hrs--$t");
String c = (twelveHourVal(t));
print("output 12hrs--$c");
}
String twelveHourVal(String inputString)
{
var splitTime = inputString.split(":");
int hour = int.parse(splitTime[0]);
String suffix = "am";
if(hour > 12)
{
hour -= 12;
suffix = "pm";
}
else if(hour == 0)
{
hour =12;
suffix = "am";
}
else if(hour == 12)
{
hour = 12;
suffix = "pm";
}
String twelveHourVal = '$hour:${splitTime[1]} $suffix';
return twelveHourVal;
}