有没有办法在dart中本地化数字和日期?

有没有办法在dart中本地化数字和日期?,dart,Dart,在C#中,我们有CultureInfo,它会影响字符串()处理日期和数字的方式 例如,您可以通过以下操作设置CurrentCulture: Thread.CurrentThread.CurrentCulture = new CultureInfo("pl-PL");; 在dart中是否有与上述内容相同的内容 编辑: 简短的回答是:使用intl软件包(感谢所有人的回答) 正如Alan Knight在下面指出的,在Dart中设置区域设置“按线程”是没有意义的,因为我们不显式地控制线程 目前我写下这

在C#中,我们有CultureInfo,它会影响字符串()处理日期和数字的方式 例如,您可以通过以下操作设置CurrentCulture:

Thread.CurrentThread.CurrentCulture = new CultureInfo("pl-PL");;
在dart中是否有与上述内容相同的内容

编辑:

  • 简短的回答是:使用intl软件包(感谢所有人的回答)
  • 正如Alan Knight在下面指出的,在Dart中设置区域设置“按线程”是没有意义的,因为我们不显式地控制线程
  • 目前我写下这个数字,据我所知,格式化工作正在进行中
  • 从页面:
    Intl类为国际化相关任务提供了一个通用入口点。

    是的,根据前面的入口,Intl库就是您想要的。可以设置默认区域设置,也可以在函数中使用withLocale方法设置默认区域设置。按线程设置它不起作用,因为没有线程。另一个主要区别是,由于这些内容都下载到浏览器中,因此您不会自动获得所有可用的区域设置数据,但必须通过异步初始化步骤来加载数据。这可能会很快被转换为使用新的延迟加载特性

    此外,区域设置不影响system toString()操作,而是必须使用DateFormat对象打印日期。由于NumberFormat仍在进行中,它还不能在本地区正常工作,但应该很快就会正常工作。

    该库将为您提供此功能,尽管它不会影响
    toString()的行为。

    下面是一个例子:

    作为依赖项添加到您的
    pubspec.yaml

    依赖项:
    intl:any#您可以指定某个版本而不是#u any_
    
    然后是一个代码示例:

    import'包:intl/intl.dart';
    导入“package:intl/date_symbol_data_local.dart”;
    main(){
    初始化为teformatting(“en_-US”,null)。然后((){
    var formatter=new DateFormat.yMd().add_Hm();
    打印(formatter.format(new DateTime.now());
    });
    }
    
    输出如下所示:

    1996年10月7日下午12:08


    您可以按我答案左侧(上/下箭头下方)的绿色复选标记/勾选图标,将我的答案标记为“已接受”,而不是编辑您的问题。@kaiselgren确实-问题是,不止一个回答完全回答了我的问题(例如,您没有提到数字格式)。无论如何,谢谢你的提示:)你也可以随时编辑答案。一般来说,你可以选择任何你认为是最好的答案,无论是我的还是别人的。如果没有真正解决您问题的答案,您可以保留“未回答”的问题:)对于数字,可以这样使用:
    var formatter=NumberFormat(“#,#,#,#,#,#,#,#hu”)