Parsing 用dart解析日期
我需要在Dart中的一个对象中解析这种日期“2014年8月11日星期一下午12:53”Parsing 用dart解析日期,parsing,date,datetime,dart,Parsing,Date,Datetime,Dart,我需要在Dart中的一个对象中解析这种日期“2014年8月11日星期一下午12:53” DateTime有一个静态方法,它接受ISO 8601格式的子集,而不是我的情况 该类允许您定义要分析的日期模式。我已经创建了模式“EEE,dd-MMM-yyy-hh:mma-zzz” 使用它,我得到一个格式异常:试图读取2014年8月11日星期一下午12:53 PDT第23位的a 看起来解析器不喜欢PM标记的情况(我打开了一个about) 我已经试着解决上套管和整个管柱的问题。使用字符串all大写,我再次得
DateTime
有一个静态方法,它接受ISO 8601格式的子集,而不是我的情况
该类允许您定义要分析的日期模式。我已经创建了模式“EEE,dd-MMM-yyy-hh:mma-zzz”
使用它,我得到一个格式异常:试图读取2014年8月11日星期一下午12:53 PDT第23位的a
看起来解析器不喜欢PM标记的情况(我打开了一个about)
我已经试着解决上套管和整个管柱的问题。使用字符串all大写,我再次得到一个FormatException,因为星期日和月份名称都是大写的
任何其他解决方案或解决方法?您只需将小写的“am”/“pm”字符替换为大写即可
import'包:intl/intl.dart';
void main(){
风险值日期=‘2014年8月11日星期一太平洋标准时间下午12:53’;
DateFormat格式=新的日期格式(“EEE,dd MMM yyyy hh:mm a zzz”);
日期=date.replaceFirst('pm','pm')。replaceFirst('am','am');
打印(日期);
打印(格式解析(日期));
}
试试这个软件包。它处理所有解析,不需要将字符串大写
var jiffy = Jiffy("Mon, 11 Aug 2014 12:53 pm PDT", "EEE, dd MMM yyyy hh:mm a zzz");
您还可以轻松地对其进行格式化和操作dateTime。范例
jiffy.format("dd MM yyyy");
// Or use DateFormat's default date time formats
jiffy.yMMMM;
// Also get relative time
jiffy.fromNow();
但是请注意,时区没有被解析。DateFormat和DateTime都不支持时区。谢谢你的提示,我没有注意到。