Dart - 如何将 yyyy-MM-dd 中的简单日期字符串的格式更改为 dd-MM-yyyy

Posted

技术标签:

【中文标题】Dart - 如何将 yyyy-MM-dd 中的简单日期字符串的格式更改为 dd-MM-yyyy【英文标题】:Dart - How to change format of simple date string which is in yyyy-MM-dd to dd-MM-yyyy 【发布时间】:2020-01-22 05:38:18 【问题描述】:

我有一个 srting 日期 2019-09-30,我想在 dart 中将其转换为 30-09-2019

【问题讨论】:

How do I format a date with Dart?的可能重复 嘿Shashank,看看上面的链接!我想它可以使用具有适当日期格式化功能的 intl 包更好地解决您的问题。祝你好运:) @George 好吧,我在问之前已经看到了上面的答案。上面给出的答案仅格式化 DateTime.now() 但我想格式化一个字符串,这就是我在这里问它的原因。 Fatima 的回答使用 DateTime.parse 将字符串转换为帮助我的 DateTime 好吧,没问题 :) 【参考方案1】:

您可以使用 intl.dart 来格式化任何日期。 这是一个简单的例子:

import 'package:flutter/material.dart';
import 'package:intl/intl.dart';

class Home extends StatefulWidget 
  Home(Key key) : super(key: key);

  _HomeState createState() => _HomeState();


class _HomeState extends State<Home> 
  String dateFormate;
  @override
  Widget build(BuildContext context) 
    dateFormate = DateFormat("dd-MM-yyyy").format(DateTime.parse("2019-09-30"));
    return Container(
      child: Text(dateFormate),
    );
  

【讨论】:

您必须将intl: ^0.16.0 添加到您的pubspec.yaml 才能使用它 如何转换日期对象中的dd-MM-YYYY字符串格式日期?【参考方案2】:

使用intl

这个包有一个很棒的类,叫做DateFormat,可以很容易地为你做。

安装: 将此添加到您的 pubspec.yaml 文件中:

dependencies:
 intl: any

用法: 只需将您的日期传递给DateFormat("date pattern").format(date)

示例

DateFormat("dd-MM-yyyy").format(DateTime.parse("2019-09-30"));

输出:30-09-2019

另一个例子

print(DateFormat.yMd().format(DateTime.now()));

输出:2/7/2021

This package 包括许多其他工具。你可以通过here了解更多。

【讨论】:

以上是关于Dart - 如何将 yyyy-MM-dd 中的简单日期字符串的格式更改为 dd-MM-yyyy的主要内容,如果未能解决你的问题,请参考以下文章

如何将 DDMMMYYYY HH:mm:ss:ssssss 格式的时间戳更改为 spark sql 中的 yyyy-MM-dd 格式 [重复]

如何有条件地将参数传递给 Flutter/Dart 中的 Widget?

如何将 TextButton 背景颜色输入到 Flutter/dart 中的函数

如何通过 Dart 中的 onTap 函数将值传递到另一个屏幕?

如何将数据参数 throw List Tile 传递给 DART 中的有状态小部件?

如何将长口头日期时间转换为雪花中的时间戳(YYYY-MM-DD HH:MM:SS)?