Nit*_*euq 30 datetime dart flutter
我试图显示当前DateTime的Text按钮后丝锥.目前它的工作原理,但我想改变格式
我用
DateTime now = DateTime.now();
currentTime = new DateTime(now.year, now.month, now.day, now.hour, now.minute);
Run Code Online (Sandbox Code Playgroud)
Text('$currentTime'),
Run Code Online (Sandbox Code Playgroud)
结果是:YYYY-MM-JJ HH-MM:00.000
我不知道如何删除":00.000"
bof*_*mer 76
用途DateFormat:
import 'package:intl/intl.dart';
DateTime now = DateTime.now();
String formattedDate = DateFormat('yyyy-MM-dd – kk:mm').format(now);
Run Code Online (Sandbox Code Playgroud)
Qui*_*ner 40
使用这种方法,无需导入任何库。
DateTime now = DateTime.now();
String convertedDateTime = "${now.year.toString()}-${now.month.toString().padLeft(2,'0')}-${now.day.toString().padLeft(2,'0')} ${now.hour.toString().padLeft(2,'0')}-${now.minute.toString().padLeft(2,'0')}";
Run Code Online (Sandbox Code Playgroud)
输出
2020-12-05 14:57
Jam*_*med 16
试试这个包,Jiffy,它也运行在Intl之上,但使用momentjs语法更容易。见下文
import 'package:jiffy/jiffy.dart';
var now = Jiffy().format("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)
您还可以执行以下操作
var a = Jiffy().yMMMMd; // October 18, 2019
Run Code Online (Sandbox Code Playgroud)
你也可以传入你的 DateTime 对象,一个字符串和一个数组
var a = Jiffy(DateTime(2019, 10, 18)).yMMMMd; // October 18, 2019
var a = Jiffy("2019-10-18").yMMMMd; // October 18, 2019
var a = Jiffy([2019, 10, 18]).yMMMMd; // October 18, 2019
Run Code Online (Sandbox Code Playgroud)
Bru*_*nuk 10
您可以使用DateTime.now()或clock.now()。带时钟库的示例:
import 'package:clock/clock.dart';\n\nDateTime now = clock.now();\nString formattedDate = DateFormat('yyyy-MM-dd \xe2\x80\x93 kk:mm').format(now);\nRun Code Online (Sandbox Code Playgroud)\n
这是我的简单解决方案。这不需要任何依赖。
但是,日期将采用字符串格式。如果您想要时间,请更改子字符串值
print(new DateTime.now()
.toString()
.substring(0,10)
); // 2020-06-10
Run Code Online (Sandbox Code Playgroud)
将intl 包添加到您的pubspec.yaml文件。
import 'package:intl/intl.dart';
DateFormat dateFormat = DateFormat("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)
将DateTime对象转换为String
String string = dateFormat.format(DateTime.now());
Run Code Online (Sandbox Code Playgroud)
将String转换为DateTime对象
DateTime dateTime = dateFormat.parse("2019-07-19 8:40:23");
Run Code Online (Sandbox Code Playgroud)
自 0.16 以来有一些变化,所以我是这样做的,
导入 pubspec.yaml
dependencies:
flutter:
sdk: flutter
intl: ^0.16.1
Run Code Online (Sandbox Code Playgroud)
然后使用
txdate= DateTime.now()
DateFormat.yMMMd().format(txdate)
Run Code Online (Sandbox Code Playgroud)
您也可以使用此语法。对于 YYYY-MM-JJ HH-MM:
var now = DateTime.now();
var month = now.month.toString().padLeft(2, '0');
var day = now.day.toString().padLeft(2, '0');
var text = '${now.year}-$month-$day ${now.hour}:${now.minute}';
Run Code Online (Sandbox Code Playgroud)
使用这个功能
todayDate() {
var now = new DateTime.now();
var formatter = new DateFormat('dd-MM-yyyy');
String formattedTime = DateFormat('kk:mm:a').format(now);
String formattedDate = formatter.format(now);
print(formattedTime);
print(formattedDate);
}
Run Code Online (Sandbox Code Playgroud)
输出:
08:41:AM
21-12-2019
Run Code Online (Sandbox Code Playgroud)
小智 6
如果用户是美国公民,但希望以 24 小时格式查看所有内容,该怎么办 - 那么
基于区域设置显示 12/24 小时将无法满足用户
// getting system settings 12/24 h format
if (MediaQuery.of(context).alwaysUse24HourFormat){
timeFormat = new DateFormat("kk:mm", languageCode); //24h format
}
else{
timeFormat = new DateFormat("KK:mm a", languageCode); //12h format
}
//then use it:
'${timeFormat.format DateTime.now())}'
Run Code Online (Sandbox Code Playgroud)
小智 5
使用字符串分割方法删除 :00.000
var formatedTime = currentTime.toString().split(':')
Text(formatedTime[0])
Run Code Online (Sandbox Code Playgroud)
======= 或使用下面的 YYYY-MM-DD HH:MM:SS 格式代码而不使用库 ====
var stringList = DateTime.now().toIso8601String().split(new RegExp(r"[T\.]"));
var formatedDate = "${stringList[0]} ${stringList[1]}";
Run Code Online (Sandbox Code Playgroud)
static String convertDateFormat(String dateTimeString, String oldFormat, String
newFormat) {
DateFormat newDateFormat = DateFormat(newFormat);
DateTime dateTime = DateFormat(oldFormat).parse(dateTimeString);
String selectedDate = newDateFormat.format(dateTime);
return selectedDate;
}
Run Code Online (Sandbox Code Playgroud)
这样调用这个方法
convertDateFormat(inputDate, "dd-mm-yyyy", "d MMM yyyy");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27254 次 |
| 最近记录: |