datetime - 我们可以在 dart/flutter 中格式化没有 Intl Package 的 DateTime 吗?
问题描述
我想知道我们是否可以在颤振项目中DateTime
不使用包进行格式化。Intl
我想做的是如下:
- 比较 2 个没有时间的日期,在
if case
. datetime
将 api 中的字符串格式化为给定的格式,例如yMMMMd
.Time
仅从给定的dateTime
字符串中获取。
我已经用intl
包做到了这一点,但我们可以在没有包依赖的情况下做到这一点吗?
解决方案
是的,您可以在没有 Intl 包的情况下格式化 DateTime,Intl 包刚刚准备好使用方法,但是您可以创建自己的格式,以便您需要制作月份列表,也许还有列表天,并且当您收到日期为来自 API 的字符串,您必须使用 DateTime.parse。
我希望这个例子能让你清楚
List<String> monthList = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
];
void yMMMMdDateFromate(String stringDateTime) {
DateTime dateTime = DateTime.parse(stringDateTime);
String dateTimeyMMMMdDateFromate =
'${monthList[dateTime.month - 1]} ${dateTime.day}, ${dateTime.year} ';
print(dateTimeyMMMMdDateFromate);
}
此函数接收字符串 DateTime 并将其打印为 yMMMMd 格式。
对于比较 2 个日期,在使用 DateTime.parse 方法将字符串转换为 DateTime 之后,您可以使用
dateTime.isAfter(dateTime2);
dateTime.isBefore(dateTime2);
dateTime.isAtSameMomentAs(dateTime2);
推荐阅读
- java - 在 servlet 和 JSP 之间的 MVC 中存储会话变量(错误状态 500)
- javascript - (JavaScript) 如何创建文档的快照以使新更改不应用于它
- php - 无法修改标头信息 - 第 24 行 x.php 中的(错误)标头已发送
- javascript - 如何捕获 div 的位置,以便在页面重新加载时我可以拥有该位置
- python - 如何在 Flask 中实现同时登录功能?
- java - 用Java从文件中扫描整数和字符串
- vb.net - 没有数据时读取失败
- php - 我如何创建第二个自动增量列mysql,其默认值在每次插入新用户时都会增加
- python - 为什么张量流安装失败
- javascript - 如何使所有元素在javascript中不可见?