2013-02-22 28 views
1

我用飛鏢編輯0.3.7_r18717(意味着編輯是最新的(2月2013年)是dart:intl破? /日期格式複雜的

import 'dart:intl'; 

顯示錯誤「無法找到引用源」

如果我導入包通過酒館

import 'package:intl/intl.dart'; 

然後編譯成JS dart2js失敗,一些奇怪的錯誤...

我要的僅僅是someth荷蘭國際集團這樣的:

final String time = new DateFormat("HH:mm:ss","de").format(new DateTime.now()); 

目前尚不清楚在所有爲什麼需要在這種情況下,現場...

THX

[更新]
OK - 我知道。「奇怪的錯誤「意味着什麼 - 所以這裏是輸出,如果我輸入以下兩個包:

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: '[email protected]' 
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]) { 

...

那是我的意思與 「怪異」: - )

+0

最後一個錯誤似乎暗示某些軟件包可能不是最新的?或不符合您正在運行的SDK版本... – 2013-02-23 11:52:12

回答

2

程序包語法i是正確的,這應該工作:

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

main() { 
    print(new DateFormat.yMd().format(new DateTime.now())); 
} 

你在說什麼「奇怪的錯誤」?

+0

我更新了我的問題... – 2013-02-22 22:30:06

+0

在GitHub上添加樣本:https://github.com/MikeMitterer/DartTimeSampleWebUI – 2013-02-22 22:52:59

+1

我也收到這些錯誤。看起來這是因爲'intl'庫並不是最新的SDK版本。 :/ – 2013-03-03 15:19:49

0

import「dart:intl」;將無法導入它,因爲它不是「核心」飛鏢庫之一,它必須作爲一個包導入。您在dart2js中列出的錯誤看起來不像來自國際化代碼,而是來自web_ui和analyzer_experimental包。如果您註釋掉使用國際化並使用dart2js編譯的行,會發生什麼情況?