我如何重新格式化、转换或从Dart/Flutter中的字符串中提取日期和时间?字符串来自我的MySQL数据库中的默认时间戳;
2021-08-11T11:38:09.000Z
2021-08-11 11:38
final String? shortime = timestamp?.replaceAll(RegExp(''), '') ?? '';
但是我不确定用什么作为regex。
由于提供的时间戳由datetime.parse
支持,您可以执行如下操作:
void main() {
final dateTime = DateTime.parse('2021-08-11T11:38:09.000Z');
print(convertDateTimeToString(dateTime)); // 2021-08-11 11:38
}
String convertDateTimeToString(DateTime dt) => '${dt.year}-'
'${dt.month.toString().padLeft(2, '0')}-'
'${dt.day.toString().padLeft(2, '0')} '
'${dt.hour.toString().padLeft(2, '0')}:'
'${dt.minute.toString().padLeft(2, '0')}';
另外,您可以使用类似intl
的包,该包支持使用格式化模式格式化datetime
:
import 'package:intl/intl.dart';
void main() {
final dateTime = DateTime.parse('2021-08-11T11:38:09.000Z');
final format = DateFormat('yyyy-MM-dd HH:mm');
print(format.format(dateTime)); // 2021-08-11 11:38
}
我试图改变从API返回的日期字符串的格式。下面的日期格式输入字符串在java中工作正常,但在Dart中则不行。
在flutter示例页面中,有一个名为“将数据发送到新屏幕”的项目。我对第65行的构造函数有一个重新保护的问题。
[![Plugins installed][1][1]我已经在android studio中安装了这些插件,并将C:\flatter\bin添加到系统环境变量中,但当我在PowerShell中运行flatter doctor时,它显示这些插件没有安装。我用的是Windows操作系统。
我正在尝试格式化结果,并在用户的当前设备区域设置中向用户显示它。 当前,我可以显示整个,如下所示: 2018-10-08 16:08:37.464112 或者通过像这样指定确切的格式: 这导致以下内容: 08.10.2018 我对这个解决方案的问题是,虽然这种格式在欧盟可能是可以接受的;例如,在美国(和许多其他国家),他们习惯于不同的日期格式,例如。 10/08/2018 我的问题是:如何以当前语
我已经在我的服务器上创建了一个RSA密钥对,只有服务器才会有私钥。客户端(Flatter应用程序)将访问公钥。因此,当服务器收到加密消息时,它将知道消息来自正确的客户端,并将使用其私钥解密通过公钥加密的消息。 当服务器(php7.3)向客户端发送回复时,我想在服务器端通过私钥加密消息,以便客户端可以用公钥解密消息。 非对称加密有其自身的局限性,如最大字符长度。但如果能送来就好了 Flutter包加