android - 将字符串时间和日期转换为 DateTime - Dart/Flutter

标签 android flutter dart

我有两个字符串输入date & timedate看起来像 12/01/2021time看起来像 23:00 。我想知道使用 Flutter/Dart 将它们转换为 DateTime 对象的有效方法。

目前我正在使用以下代码。它工作得很好,但必须有更好的方法。

int year = int.parse(date.substring(6));
int month = int.parse(date.substring(0,2));
int day = int.parse(date.substring(3,5));
int hour = int.parse(time.substring(0,2));
int minute = int.parse(time.substring(3,5));
  
final DateTime newDate = DateTime(year,month,day,hour,minute);

最佳答案

在flutter中,我们可以使用DateTime.parse方法来达到此目的。您只需将字符串作为特定格式传递即可。

DateTime.parse("2012-02-27 13:27:00")

以下是一些可接受的字符串格式。

"2012-02-27 13:27:00" 
"2012-02-27 13:27:00.123456789z" 
"2012-02-27"
"13:27:00,123456789z" 
"20120227 13:27:00" 
"20120227T132700" 
"20120227"
"+20120227" 
"2012-02-27T14Z" 
"2012-02-27T14+00:00"

以下是我们将字符串转换为 DateTime 的 flutter 示例。

import 'package:flutter/material.dart';

void main() {
  runApp( MaterialApp(
       home: Home()
  ));
}

class Home extends  StatefulWidget {
  @override
  State<Home> createState() => _HomeState();
}

class _HomeState extends State<Home> {

  DateTime dt1 = DateTime.parse("2021-12-23 11:47:00");
  DateTime dt2 = DateTime.parse("2002-02-27T14:00:00-0500");


  @override
  Widget build(BuildContext context) {
    return Scaffold(
         appBar: AppBar(
            title: Text("Convert String to DateTime"),
            backgroundColor: Colors.redAccent,
         ),
          body: Container(
             alignment: Alignment.center,
             padding: EdgeInsets.all(20),
             child: Column(
               children:[

                   Text(dt1.toString()),
                   Text(dt2.toString())

                ]
             ),
          )
      );
  }
}

鸣谢:https://flutterforyou.com/how-to-convert-string-to-datetime-in-flutter/

更多有用资源的链接:

Convert String to DateTime in flutter

Parse string to DateTime in Flutter (Dart)

关于android - 将字符串时间和日期转换为 DateTime - Dart/Flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70439617/

相关文章:

android - 如何从按钮中获取颜色?

flutter - 如何更改轮廓按钮的初始颜色?

json - 按字母顺序对 JSON 进行排序 - Flutter

android - 即使缩小图像,Flutter App 大小仍然相同

来自联系人/电话簿的 Android Sip 应用程序调用

android - 动态创建的复选框监听器不起作用

Flutter-如何将showModalBottomSheet设置为全高但在状态栏下方?

java - 一些输入文件使用或覆盖了已弃用的 API Flutter build android

java - 实现 Firebase (Flutter) 通知时,我收到错误

android - 如何为 Android 单元测试定义 Mock Cursor