所以我试图将 24 小时格式转换为 12 小时格式时间,我的输入是13:00,输出应该是下午1:00,我没有找到正确的库,所以任何人都可以帮助我。提前致谢。
问问题
79 次
3 回答
1
首先拆分字符串
var splitTime = inputString.split(":");
然后将第一个值转换为 int
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;
}
于 2021-10-23T22:25:12.930 回答
1
Dart intl 框架可帮助您将日期和时间格式化为您想要的类型。
例子:
DateFormat("h:mma").format(date);
于 2021-10-23T23:24:11.613 回答
0
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;
}
于 2021-10-24T09:59:01.340 回答