坑!!!在 VsCode 中使用 Dart和Flutter
插件,必须打开项目源代码的根目录
(main.dart
所在目录)才有代码提示和相关检查与校验,单独的 .dart 文件
或者打开 多级目录
都是没有的(但是可能会突然有一小会又突然没有,薛定谔的提示0.0!),呜呜呜呜呜…搞得我一直以为是电脑环境的问题,重装了好几次 VsCode 插件与 Flutter SDK。
另外在 Flutter 开发的时候,发现 Dart 对于时间的处理比较麻烦,又不想使用外部插件,所以自己动手,写了一个简单的时间处理方法。
话不多说,直接上代码,还请各位大佬指正。
Dart 正则表达式时间处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
static String dateFormat(DateTime time, {String format = "yyyy-mm-dd hh:ii:ss"}) { var dateObj = { 'm+': time.month, 'd+': time.day, 'h+': time.hour, 'i+': time.minute, 's+': time.second, }; RegExp yearReg = new RegExp(r"(y+)"); if (yearReg.hasMatch(format)) { var matches = yearReg.allMatches(format); String match = "${matches.elementAt(0).group(1)}"; format = format.replaceAll(match, "${time.year}".substring(4 - match.length)); } dateObj.forEach((key, value) { RegExp replaceReg = new RegExp(r'(' + "$key" + ')'); if (replaceReg.hasMatch(format)) { var matches = replaceReg.allMatches(format); String match = "${matches.elementAt(0).group(1)}"; format = format.replaceAll(match, (match.length == 1) ? "$value" : "00$value".substring("$value".length)); } }); return format; }
|
另外博主有写一个人性化时间的 Dart 方法,可以参考文章Dart 常用方法。