【问题标题】:How to convert 24 hrs (13:00) to 12hrs (1:00 PM) in dart language/Flutter?如何在飞镖语言/颤振中将 24 小时(13:00)转换为 12 小时(1:00 PM)?
【发布时间】:2021-12-10 00:06:41
【问题描述】:

所以我正在尝试将 24 小时格式转换为 12 小时格式时间,例如,我的 输入13:00 并且 输出 应该是 1:00 PM,但我没有找到正确的库,所以任何人都可以帮助我。在此先感谢。

【问题讨论】:

  • 您是仅输入 13:00 作为字符串还是从选择器中选择时间?
  • 这是一个字符串 can you go through this link 这是我的颤振程序,我选择 24hrs 格式时间作为字符串(我使用 24hrs 格式,因为设计需要),但我想将其转换为 12hrs 格式。提前致谢。

标签: flutter dart flutter-layout flutter-dependencies flutter-design


【解决方案1】:
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;
 }

【讨论】:

  • 嘿@Andrew,我发布了另一个与颤振相机相关的问题,你能帮帮我吗,here is the link
【解决方案2】:

Dart intl 框架帮助您将日期和时间格式化为您想要的类型。

https://pub.dev/packages/intl

示例:

DateFormat("h:mma").format(date);

【讨论】:

    【解决方案3】:

    先拆分字符串

    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;
    }
    
     
    

    【讨论】:

    • 嘿@kaushik Chandru 非常感谢你,但我做了一些更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 2019-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多