Flutter 如何在dart中将时间戳字符串从24小时格式转换为12小时格式?

Flutter 如何在dart中将时间戳字符串从24小时格式转换为12小时格式?,flutter,dart,formatting,type-conversion,timestamp,Flutter,Dart,Formatting,Type Conversion,Timestamp,我正在开发颤振应用程序,其中我必须显示时间戳,但我从api得到的响应是24小时格式,我希望在我的应用程序中以12小时格式显示时间 我想以这种格式在应用程序上显示 您能帮我介绍一下从24小时到12小时格式化的最简单方法吗?您需要导入import'package:intl/intl.dart'位于文件顶部。然后DateFormat(“h:mma”)就可以了。Dartintlframework帮助您将日期/时间格式化为您想要的任何类型 特别是对于您的情况,您可以使用此代码 DateFormat("h

我正在开发颤振应用程序,其中我必须显示时间戳,但我从api得到的响应是24小时格式,我希望在我的应用程序中以12小时格式显示时间

我想以这种格式在应用程序上显示
您能帮我介绍一下从24小时到12小时格式化的最简单方法吗?

您需要导入
import'package:intl/intl.dart'位于文件顶部。然后
DateFormat(“h:mma”)
就可以了。

Dart
intl
framework帮助您将日期/时间格式化为您想要的任何类型

特别是对于您的情况,您可以使用此代码

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

@正如Sam指出的,Umair可以使用package,也可以使用jm()函数,而无需像这样显式声明格式

默认值
日期时间

类MyAppState扩展了状态{
@凌驾
小部件构建(构建上下文){
返回材料PP(
家:脚手架(
appBar:appBar(
标题:文本(“测试”),
),
主体:填充物(
填充:所有边缘设置(20.0),
儿童:中心(
子项:Text(新的DateFormat.jm().format(DateTime.now()),style:TextStyle(fontSize:18.0),
)
)
));
}
}
截图:

用于24小时时间戳字符串

类MyAppState扩展了状态{
@凌驾
小部件构建(构建上下文){
字符串timeStamp24HR=“2020-07-20T18:15:12”;
返回材料PP(
家:脚手架(
appBar:appBar(
标题:文本(“测试”),
),
主体:填充物(
填充:所有边缘设置(20.0),
儿童:中心(
child:Text(新的DateFormat.jm().format(DateTime.parse(timeStamp24HR)),style:TextStyle(fontSize:18.0),
)
)
));
}
}
截图:


更多关于flatter解析方法的信息,请点击这里-

使用
import'package:intl/intl.dart'中的函数

DateFormat.Hm().format(日期)


它将提供24小时格式的时间
23:30

,以将UTC时间转换为具有指定格式(包括日期)的本地时间

var dateFormat = DateFormat("dd-MM-yyyy hh:mm aa"); // you can change the format here
var utcDate = dateFormat.format(DateTime.parse(uTCTime)); // pass the UTC time here
var localDate = dateFormat.parse(utcDate, true).toLocal().toString();
String createdDate = dateFormat.format(DateTime.parse(localDate)); // you will local time

您可以简单地使用TimeOfDay类:

var time = TimeOfDay.fromDateTime(DateTime.now());
print(time.hourOfPeriod);
print(time.minute);
print(time.period);

你是如何用24小时制完成这项工作的?您的方法仅适用于12小时格式。
var time = TimeOfDay.fromDateTime(DateTime.now());
print(time.hourOfPeriod);
print(time.minute);
print(time.period);