dart:intl坏了吗?/日期格式要复杂

dart:intl坏了吗?/日期格式要复杂,dart,dart-pub,Dart,Dart Pub,I使用Dart编辑器0.3.7R18717(表示编辑器是最新的(2013年2月) 显示错误“找不到引用的源” 如果我通过pub导入包 import 'package:intl/intl.dart'; 然后编译到JS dart2js失败,出现一些奇怪的错误 我想要的只是这样的东西: final String time = new DateFormat("HH:mm:ss","de").format(new DateTime.now()); 现在还不清楚为什么在这种情况下需要使用区域设置 thx

I使用Dart编辑器0.3.7R18717(表示编辑器是最新的(2013年2月)

显示错误“找不到引用的源”

如果我通过pub导入包

import 'package:intl/intl.dart';
然后编译到JS dart2js失败,出现一些奇怪的错误

我想要的只是这样的东西:

final String time = new DateFormat("HH:mm:ss","de").format(new DateTime.now());
现在还不清楚为什么在这种情况下需要使用区域设置

thx

[更新]
好的-我知道“奇怪的错误”没有任何意义-因此,如果我导入以下两个包,这里是输出:

import 'package:intl/date_symbol_data_local.dart';
import 'package:intl/intl.dart';

String getTime() {
    final String time = new DateFormat("HH:mm:ss","en_US").format(new DateTime.now());
    //final String time = "20:05:00";
return time;
}
输出:

正在运行dart2js。。。 使用snapshot/Developer/dart/dart sdk/lib/_internal/compiler/implementation/dart2js.dart.snapshot 编写/Users/mikemitterer/dart/WebSockets.SAMPLE/web/out/jrelaisui.html_bootstrap.dart.js[410.0kb在5.3秒内编写] build.dart--machine--changed=web/jrelaisui.dart 文件:/Users/mikemitterer/dart/WebSockets.SAMPLE/build.dart build.dart返回错误代码255 未捕获错误:NoSuchMethodError:未找到方法:'_addFromInteger@0x36924d72' 收件人:空 论据:[80] 堆栈跟踪: #0 Object.noSuchMethod(省道:核心补丁:1737:25) #1内部+(省道:核心补丁:1324:33) #2 Parser.translateCharacter(包:analyzer\u experimental/src/generated/Parser.dart:4380:167) #3 Parser.computeStringValue(包:analyzer\u-experional/src/generated/Parser.dart:376:33) #4 Parser.parseStringLiteral(包:analyzer\u-experimental/src/generated/Parser.dart:3451:76) #5 Parser.parsePrimaryExpression(包:analyzer\u-experimental/src/generated/Parser.dart:3163:32) #6 Parser.parseAssignableExpression(包:analyzer\u-experimental/src/generated/Parser.dart:837:51) #7 Parser.parsePostfixExpression(包:analyzer\u-experimental/src/generated/Parser.dart:3061:51)

输出-清理源:

build.dart——machine——clean 文件:/Users/mikemitterer/dart/HelloWebComponent/build.dart build.dart返回错误代码255 'package:html5lib/src/encoding_parser.dart':错误:第65行第14位:类'EncodingBytes'使用不兼容的参数重写超类'Iterable'的函数'skip' 字符串跳过([CharPreciate skipChars]){ ^ build.dart——machine——clean 文件:/Users/mikemitterer/dart/todomvc/build.dart build.dart返回错误代码255 'package:html5lib/src/encoding_parser.dart':错误:第65行第14位:类'EncodingBytes'使用不兼容的参数重写超类'Iterable'的函数'skip' 字符串跳过([CharPreciate skipChars]){


这就是我说的“怪异”的意思:-

包语法是正确的,应该可以:

import'包:intl/date_symbol_data_local.dart';
导入“包:intl/intl.dart”;
main(){
打印(new DateFormat.yMd().format(new DateTime.now());
}

你在说什么“奇怪的错误”?

导入“dart:intl”;无法导入它,因为它不是“核心”之一dart库,它必须作为一个包导入。您在dart2js中列出的错误看起来不是来自国际化代码,而是来自web_ui和analyzer_实验包。如果您注释掉使用国际化的行并使用dart2js编译,会发生什么情况?

最后一个错误似乎暗示了这一点有些软件包可能不是最新的?或者与您正在运行的SDK版本不一致…我也收到了这些错误。这似乎是因为
intl
库不是最新的SDK版本。:/
import 'package:intl/date_symbol_data_local.dart';
import 'package:intl/intl.dart';

String getTime() {
    final String time = new DateFormat("HH:mm:ss","en_US").format(new DateTime.now());
    //final String time = "20:05:00";
return time;
}
Running dart2js... Using snapshot /Developer/dart/dart-sdk/lib/_internal/compiler/implementation/dart2js.dart.snapshot Wrote /Users/mikemitterer/dart/WebSockets.SAMPLE/web/out/jrelaisui.html_bootstrap.dart.js [410.0kb written in 5.3 seconds] build.dart --machine --changed=web/jrelaisui.dart file:/Users/mikemitterer/dart/WebSockets.SAMPLE/build.dart build.dart returned error code 255 Uncaught Error: NoSuchMethodError : method not found: '_addFromInteger@0x36924d72' Receiver: null Arguments: [80] Stack Trace: #0 Object.noSuchMethod (dart:core-patch:1737:25) #1 int.+ (dart:core-patch:1324:33) #2 Parser.translateCharacter (package:analyzer_experimental/src/generated/parser.dart:4380:167) #3 Parser.computeStringValue (package:analyzer_experimental/src/generated/parser.dart:376:33) #4 Parser.parseStringLiteral (package:analyzer_experimental/src/generated/parser.dart:3451:76) #5 Parser.parsePrimaryExpression (package:analyzer_experimental/src/generated/parser.dart:3163:32) #6 Parser.parseAssignableExpression (package:analyzer_experimental/src/generated/parser.dart:837:51) #7 Parser.parsePostfixExpression (package:analyzer_experimental/src/generated/parser.dart:3061:51) build.dart --machine --clean file:/Users/mikemitterer/dart/HelloWebComponent/build.dart build.dart returned error code 255 'package:html5lib/src/encoding_parser.dart': Error: line 65 pos 14: class 'EncodingBytes' overrides function 'skip' of super class 'Iterable' with incompatible parameters String skip([CharPreciate skipChars]) { ^ build.dart --machine --clean file:/Users/mikemitterer/dart/todomvc/build.dart build.dart returned error code 255 'package:html5lib/src/encoding_parser.dart': Error: line 65 pos 14: class 'EncodingBytes' overrides function 'skip' of super class 'Iterable' with incompatible parameters String skip([CharPreciate skipChars]) {