intl
是Flutter
中的一个国际化(Internationalization)库,用于处理多语言和本地化相关的功能。
intl
库提供了以下主要功能:
- 日期和时间格式化:用于将日期和时间对象格式化为不同的语言和地区的习惯样式。
- 数字格式化:用于将数字对象格式化为不同的语言和地区的习惯样式。
- 消息翻译:用于将文本消息翻译为不同的语言。
使用intl
库,首先需要 Flutter 项目的 pubspec.yaml
文件中添加依赖项:
intl: ^0.17.0
1 日期和时间格式化:
// 获取当前时间
DateTime now = DateTime.now();
// 定义一个日期时间格式
DateFormat dateFormat = DateFormat('yyyy-MM-dd HH:mm:ss');
// 使用格式将当前时间格式化为字符串
String formattedDateTime = dateFormat.format(now);
debugPrint("当前时间 $now");
debugPrint("格式化的时间 $formattedDateTime");
2. 数字格式化
常用的也就是 保留小数位数、长数字分割、百分比转换
四舍五入保留两位小数
String format = NumberFormat("###.0#").format(12.6589);
//12.66 四舍五入保留两位小数
debugPrint("format $format");
数字使用,号分割
//数字使用,号分割
String decimalPattern = NumberFormat.decimalPattern().format(1200000);
//输出 1,200,000
debugPrint("decimalPattern $decimalPattern");
数字转百分比
//数字转百分比
String decimalPercentPattern =
NumberFormat.decimalPercentPattern().format(0.23);
//输出 23%
debugPrint("decimalPercentPattern $decimalPercentPattern");
最后分享一个小工具类
///格式化工具类
class FormatUtil {
///日期格式
static const String ymdHms = "yyyy-MM-dd HH:mm:ss";
/// 格式化数值
/// var f = NumberFormat("###.0#", "en_US");
/// print(f.format(12.345));
/// ==> 12.34
static String formatNumber(
{String pattern = '###.0#', dynamic number, String? locale}) {
return NumberFormat(pattern, locale).format(number);
}
///逗号分割数值
static String decimalPattern(
{ dynamic number, String? locale}) {
return NumberFormat.decimalPattern(locale).format(number);
}
/// 格式化日期
/// "yyyy-MM-dd HH:mm:ss"
static String formatDate(
{String pattern = 'yyyy-MM-dd HH:mm:ss', required DateTime date}) {
return DateFormat(pattern).format(date);
}
/// 格式化毫秒日期
/// "yyyy-MM-dd HH:mm:ss"
static String formatMilliseconds(String pattern, int milliseconds) {
return formatDate(
pattern: pattern,
date: DateTime.fromMillisecondsSinceEpoch(milliseconds),
);
}
}
最后
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。
如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。
相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照知识体系编排的。
欢迎大家一键三连支持,若需要文中资料,直接扫描文末CSDN官方认证微信卡片免费领取↓↓↓(文末还有ChatGPT机器人小福利哦,大家千万不要错过)
PS:群里还设有ChatGPT机器人,可以解答大家在工作上或者是技术上的问题