flutter_utils_plus 0.0.2 copy "flutter_utils_plus: ^0.0.2" to clipboard
flutter_utils_plus: ^0.0.2 copied to clipboard

Flutter开发工具包

使用说明 #

Moment #

  • 解析
Moment([DateTime|String|int|Moment])
Moment.utc([DateTime|String|int|Moment])

// 示例
Moment() // 默认为此刻 等同于 Moment(DateTime.now())
Moment(DateTime.parse('1969-07-20 20:18:04')) // DateTime 格式
Moment('2025-12-01 12:00:00') // 字符串格式
Moment(1318781876406) // 时间戳(毫秒)
Moment.utc()
Moment.utc(DateTime.parse('1969-07-20 20:18:04'))
Moment.utc(1318781876406)
Moment.utc('2025-12-01 12:00:00')
  • 操作
Moment().toDate() // 获取 DateTime 对象
Moment().toUtc() // 转换为Utc时间
Moment().unix() // 获取时间戳
Moment().add(Duration duration);  // 加法
Moment().add(Number value, String unit);
Moment().subtract(Duration);  // 减法
Moment().subtract(Number value, String unit);
Moment().isBefore(dynamic dateTime); // 是否之前
Moment().isAfter(dynamic dateTime); // 是否之后
Moment().isBetween(dynamic startDateTime, dynamic endDateTime); // 是否之间
Moment().isSame(dynamic dateTime, String unit) // 是否相同
// unit参数可简写(注意:isSame方法参数全称不带s且支持年[year->y]、月[month->M])
// days -> d
// hours -> h
// minutes -> m
// seconds -> s
// milliseconds -> ms

// 示例
Moment().add(1, 'd') // 明天
Moment().add(12, 'hours') // 12小时之后
Moment().add(Duration(days: 7)) // 7天之后
Moment().subtract(1, 'd') // 昨天
Moment().subtract(12, 'hours') // 12小时之前
Moment().subtract(Duration(minutes: 10)) // 10分钟之前
Moment().isBefore('2025-12-01 12:00:00') // 今天是否在该日期之前
Moment().isAfter(DateTime.parse('1969-07-20 20:18:04')) // 今天是否在该日期之后
Moment().isBetween('2025-12-01 12:00:00', '2026-12-01 12:00:00') // 今天是否在该日期之间
Moment().isSame('2025-12-01 12:00:00', 'day') // 该日期是否和今天是用一天
  • 显示
Moment().format() // 默认输出DateTime
Moment().format(String)
// format格式化规则:
// 年(YYYY/YY)
// 月(MM/M)
// 日(DD/D)
// 时(HH/H/hh/h)
// 分(mm/m)
// 秒(ss/s)
// 上午下午(A/a)

// 示例
Moment().format() // 2025-01-01 20:12:12.000+0800
Moment().format('YYYY-MM-DD') // 2025-01-01
Moment().format('YYYY-MM-DD HH:mm:ss') // 2025-01-01 20:12:12
  • 时区

如需使用 Timezone 时区,需引入timezone包,并且在main函数中初始化时区数据库。

// main.dart
import 'package:timezone/data/latest.dart' as tz;
void main() {
  tz.initializeTimeZones();
}
// 示例
Moment.utc('2024-09-01 00:00:00').tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')
Moment('2025-10-01 00:00:00').tz('Asia/Shanghai', true).toUtc().format()

Validate #

isEmpty                   : 验证是否为空(null/'')
isTrueEmpty               : 验证是否为空(null/''/0/false/[]/{})
isChinese                 : 验证是否含中文
isMobile                  : 验证电话号码
isEmail                   : 验证邮箱
isBank                    : 验证银行卡号
isVersion                 : 验证版本号
isIDCard                  : 验证身份证号码
isURL                     : 验证 URL
isIP                      : 验证 IP 地址
isDate                    : 验证日期格式(YYYY-MM-DD)
isDateTime                : 验证日时间格式(YYYY-MM-DD HH:mm:ss)
isAccount                 : 验证账号(只包含数字/字母/下划线/减号)
isPwd                     : 验证密码(包含字母、数字、特殊符,任意2种)

UtilsPlus #

  • 字符串
camelCase                 : 蛇形转驼峰
snakeCase                 : 驼峰转蛇形
padStart                  : 字符串长度补全(起始)
padEnd                    : 字符串长度补全(结尾)
maskPhone                 : 隐藏部分电话号码
  • 数字
toNum                     : 转为数字类型
toInt                     : 转为整数类型
toFixed                   : 数字精度转换
formatAmount              : (金额)千分位逗号分隔
calcAdd                   : 精准计算(加法)
calcSubtract              : 精准计算(减法)
calcMultiply              : 精准计算(乘法)
calcDivide                : 精准计算(除法)
meterToFt                 : 米(m)转英尺(ft)
ftToMeter                 : 英尺(ft)转米(m)
meter2ToFt2               : 平方米(m²)转平方英尺(ft²)
ft2ToMeter2               : 平方英尺(ft²)转平方米(m²)
celsiusToFahrenheit       : 摄氏度(°C)转华氏度(°F)
fahrenheitToCelsius       : 华氏度(°F)转摄氏度(°C)

插件开发 #

创建插件

flutter create --template=package hello

运行测试

# 所有测试文件
flutter test
# 或指定测试文件
flutter test test/example_test.dart

运行检验

flutter pub publish --dry-run

运行提交

flutter pub publish --server=https://pub.dartlang.org
0
likes
0
points
152
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter开发工具包

Homepage

License

unknown (license)

Dependencies

flutter, timezone

More

Packages that depend on flutter_utils_plus