Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing 用dart解析日期_Parsing_Date_Datetime_Dart - Fatal编程技术网

Parsing 用dart解析日期

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大写,我再次得

我需要在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大写,我再次得到一个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都不支持时区。谢谢你的提示,我没有注意到。