dayfl 2.0.0 copy "dayfl: ^2.0.0" to clipboard
dayfl: ^2.0.0 copied to clipboard

日期格式化工具,Borrow a flutter date formatting tool written by Dayjs himself for his own use

2.0.0 #

  • 🎯 纯Dart实现: 完全使用Dart语言编写,无需原生平台依赖
  • 🌍 跨平台支持: 支持iOS、Android、Web、Windows、macOS、Linux等所有Flutter支持的平台
  • 性能优化: 进一步优化核心算法,提升日期处理性能
  • 🛡️ 稳定性增强: 加强边界条件处理,提升库的稳定性和可靠性
  • 📦 零依赖: 保持轻量级特性,无第三方依赖

1.0.4 #

  • ✨ 新增 diffIn 方法,支持计算两个时间的差值并可自定义单位(年、月、日、时、分、秒)。
  • 🔧 支持与 Dayfl 对象或 DateTime 对象进行时间差计算。
  • 📊 返回指定单位的时间差值(整数类型),支持正负值表示时间前后关系。
  • 🧪 为 diffIn 方法添加了全面的测试用例,包括跨年月份计算等边界情况。

1.1.0 #

  • ✨ 新增 endOf 方法,用于获取指定时间单位的末尾时间点 (例如 endOf(DateLocationEnum.month) 获取当月最后一天)。
  • 🐛 修复了 format 方法中毫秒 (SSS) 格式化不正确的问题。
  • 🧪 为 endOf 方法添加了完整的测试用例。

1.0.3 #

  • 🐛 修复 Android 平台构建时因 namespace 未在 build.gradle 文件中定义而导致的构建失败问题。

1.0.2 #

  • ✨ 新增链式调用方法:setYear、setMonth、setDay、setHour、setMinute、setSecond
  • 🔗 支持方法链式调用,提升API易用性和代码可读性
  • 📝 示例:Dayfl().setYear(2025).setMonth(12).setDay(25).format()
  • 🛡️ 保持与原setter相同的参数验证逻辑
  • 🔄 向后兼容:原有setter属性仍然可用
  • 🧪 新增完整的测试用例覆盖所有链式调用方法
  • 📚 更新示例代码展示链式调用用法

1.0.1 #

  • 📖 重新设计README文档,提升项目展示效果
  • ✨ 添加项目徽章(版本、许可证、Dart/Flutter版本要求)
  • 🎨 优化文档结构,使用Emoji图标增强视觉效果
  • 📚 完善使用示例,添加多种场景的代码演示
  • 📋 重新组织格式化参数表,按功能分类展示
  • 🌍 添加多语言支持说明
  • 🤝 完善开源项目标准信息(贡献指南、许可证、致谢)

1.0.0 #

  • 🎉 重大版本更新 - 全面代码审查和优化
  • 🐛 修复12小时制转换逻辑,正确处理午夜0点显示为12点的情况
  • 🐛 修复dayFormat逻辑,改进条件判断,使用else if避免重复执行
  • 🐛 修复数组越界问题,在访问月份缩写数组时添加边界检查
  • 🐛 优化时间戳处理,智能识别毫秒、秒时间戳和年份
  • 🛡️ 增强异常处理:在_set方法中添加参数和年份范围验证
  • 🛡️ 增强空值检查:在getLocale方法中确保语言包不为空
  • 🛡️ 改进错误信息:在_object方法中提供更具体的错误描述
  • 🔒 提升类型安全:在isBefore、isAfter、difference和compareTo方法中添加空值检查
  • 🔒 加强参数验证:确保传入的Dayfl对象包含有效的日期时间
  • 🔒 增强字符串验证:检查空字符串和无效格式
  • ⚡ 性能优化:在format方法中避免重复调用getLocale
  • ⚡ 缓存优化:在_init方法中减少重复的int.parse调用
  • ⚡ 字符串优化:使用padLeft替代循环拼接零字符
  • ⚡ 新增_getWeekInfo辅助方法提高周信息获取效率
  • 🔄 代码重构:创建_isValidDateParam和_convertToSafeDayfl通用验证方法
  • 🔄 消除重复代码:统一日期参数验证和转换逻辑
  • 🔄 提高可维护性:将重复的类型检查逻辑抽取为可复用方法

0.1.5 #

  • format 新增第三个参数dayFormat 可传bool或者带参的function 主要是实现 类似于小于10s 返回刚刚这种文字

0.1.4 #

  • 调整compileSdkVersion 和 targetSdkVersion 为31

0.1.3 #

  • 添加空判断 解析日期错误时 不在是当前时间, 正常报错部分方法返回null或者空字符串
  • 新增方法 toArray 返回List

0.1.2 #

  • Dayfl().isUtc() 改成get方法 Dayfl().isUtc
  • Dayfl().isLeapYear() 改成get方法 Dayfl().isLeapYear
  • Dayfl().valueOf() 改成get方法 Dayfl().valueOf
  • Dayfl().daysInMonth() 改成get方法 Dayfl().daysInMonth
  • 去掉isDayfl 方法

0.1.1 #

  • 添加语言包做了名称检测

0.1.0 #

  • 新增方法 isLeapYear 判断是否是闰年
  • 新增方法 daysInMonth 获取月份的天数
  • 新增方法 isDayfl 判断是否是Dayfl类型
  • 新增方法 isSame 判断两个日期是否相同 可根据单位决定
  • 新增方法 getWeek 获取星期 返回map 值有 num(数字), text(文字)
  • 新增静态方法 addLocale 添加语言包 没有做任何验证 请按照示例完整写入
  • 新增方法 getLocale 获取当前使用的语言包
  • 调整add 和 subtract 方法原来的只能加减天数单位的问题
  • 格式化参数新增 W 和 WW 星期
  • 实例新增第三个参数字段 locale 指定语言包

0.0.8 #

  • 修复纯字符串日期解析

0.0.7 #

  • 修改获取返回datetime 方法为 get方法 => Dayfl().dateTime
  • 修改添加自定义格式化参数的方法传参 为 dayfl

0.0.6 #

  • 添加平台支持
  • 添加方法 isUtc
  • 添加方法 compareTo
  • 添加方法 delMatchers 删除自定义添加的参数

0.0.5 #

  • 优化文档注释
  • 新增 添加自定义格式化参数

0.0.4 #

  • 优化解析代码
  • 优化格式化代码

0.0.3 #

  • 优化代码
  • 新增格式化参数

0.0.2 #

  • 优化代码

0.0.1 #

  • 第一次提交
1
likes
145
points
30
downloads

Publisher

unverified uploader

Weekly Downloads

日期格式化工具,Borrow a flutter date formatting tool written by Dayjs himself for his own use

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on dayfl