【问题标题】:Parse string to DateTime in Flutter (Dart) [duplicate]在 Flutter(Dart)中将字符串解析为 DateTime [重复]
【发布时间】:2020-05-09 15:36:17
【问题描述】:

我正在尝试将格式为“23.1.2020”的字符串解析为 DateTime 对象,但对我没有任何作用。我尝试使用一些包,如 intl 或 date_format,但这些包都不能胜任。

DateTime todayDate = DateTime.parse("12.04.2020");
formatDate(todayDate, [yyyy, '/', mm, '/', dd, ' ', hh, ':', nn, ':', ss, ' ', am])

你知道如何解析这个吗?

【问题讨论】:

    标签: datetime flutter dart


    【解决方案1】:

    好的,我找到了方法:

    import 'package:intl/intl.dart';
    
    DateFormat format = DateFormat("dd.MM.yyyy");
    print(format.parse(date));
    

    【讨论】:

      【解决方案2】:

      如果您绝对确定您的日期格式将始终为 "dd.MM.yyyy",您可以这样做:

      DateTime todayDate = DateTime.parse("12.04.2020".split('.').reversed.join());
      

      此技巧会将您的日期格式化为"yyyyMMdd" 格式,根据the docsDateTime.parse() 接受该格式。

      【讨论】:

        【解决方案3】:

        试试这个包,Jiffy,它也在Intl 之上运行,但使用momentjs 语法更容易。见下文

        var date = Jiffy("12.04.2020", "dd.MM.yyyy").format("dd, Oct yy"); // 12, Apr 20
        

        您还可以使用以下默认格式

        var date = Jiffy("12.04.2020", "dd.MM.yyyy").yMMMMd; // April 12, 2020
        

        希望对你有帮助

        【讨论】:

          【解决方案4】:

          函数将日期转换为字符串:

          String dateTostring(DateTime datevalue)
          {
          String _stringdate ="";
          
          _stringdate = datevalue.month.toString()+"."+datevalue.day.toString()+"."+datevalue.year.toString() ;
          
          
          return _stringdate;
          }
          

          然后函数将字符串转换为日期:

          DateTime dateStringtodate(String stringdate)
          {
          DateTime _stringdate;
          
          List<String> validadeSplit = stringdate.split('.');
          
          if(validadeSplit.length > 1)
          {
            int day = int.parse(validadeSplit[1].toString()));
            int month = int.parse(validadeSplit[0].toString());
            int year = int.parse(validadeSplit[2].toString());
          
            _stringdate = DateTime.utc(year, day, month);
          
          }
          
          return _stringdate;
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-01-23
            • 2023-03-09
            • 1970-01-01
            • 2011-07-18
            • 2020-07-08
            • 2011-11-26
            • 2020-09-27
            相关资源
            最近更新 更多