harmony-utils之DateUtil,日期工具类

简介: harmony-utils 是一款专为 HarmonyOS 打造的多功能工具库,涵盖日期、文件、加密等常用操作。其 DateUtil 类提供丰富的日期处理方法,如格式化、比较、增减天数等,助力开发者高效实现日期相关功能。

harmony-utils之DateUtil,日期工具类

harmony-utils 简介与说明


harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。
picker_utils 是harmony-utils拆分出来的一个子库,包含PickerUtil、PhotoHelper、ScanUtil。

下载安装
ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils

  //全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    AppUtil.init(this.context);
  }

API方法与使用


getFormatDate 获取格式化日期,将传入的日期格式化为Date
let date1 = DateUtil.getFormatDate(1716181651533);
let date2 = DateUtil.getFormatDate("2024-05-21");
let date3 = DateUtil.getFormatDate("2024-05-20 13:07:45");
let date4 = DateUtil.getFormatDate("2024年05月20日 13时07分45秒");
let date5 = DateUtil.getFormatDate("2024年05月20日");
let date6 = DateUtil.getFormatDate("2024/05/20");
let date7 = DateUtil.getFormatDate(new Date());
getFormatDateStr 获取格式化日期,将传入的日期格式化为指定格式的字符串
let todayStr1 = DateUtil.getFormatDateStr(1716181651533);
let todayStr2 = DateUtil.getFormatDateStr(DateUtil.getTodayTime(), DATE_FORMAT11);
let todayStr3 = DateUtil.getFormatDateStr("2024-05-20 13:07:45", DATE_FORMAT17);
let todayStr4 = DateUtil.getFormatDateStr("2024年05月20日 13时07分45秒", DATE_FORMAT16);
let todayStr5 = DateUtil.getFormatDateStr("2024年05月20日");
let todayStr6 = DateUtil.getFormatDateStr("2024/05/20");
let todayStr7 = DateUtil.getFormatDateStr(new Date());
getToday 获取今天的日期
let today = DateUtil.getToday();
getTodayTime 获取今天的时间戳
let todayTime = DateUtil.getTodayTime();
getTodayStr 获取今天的时间,字符串类型
let todayStr1 = DateUtil.getTodayStr();
let todayStr2 = DateUtil.getTodayStr("yyyy-MM-dd HH:mm");
let todayStr3 = DateUtil.getTodayStr("yyyy-MM-dd HH");
let todayStr4 = DateUtil.getTodayStr("yyyy-MM-dd");
let todayStr5 = DateUtil.getTodayStr("yyyy/MM/dd");
let todayStr6 = DateUtil.getTodayStr("yyyy年MM月dd日");
let todayStr7 = DateUtil.getTodayStr("yyyy年MM月dd日 HH时mm分ss秒");
isToday 判断日期是否是今天
let today = DateUtil.getToday();
let todayTime = 1723983090245;
let todayStr1 = "2024年8月18日";
let b1 = DateUtil.isToday(today);
let b2 = DateUtil.isToday(todayTime);
let b3 = DateUtil.isToday(todayStr1);
getNowYear 获取当前年
let nowYear = DateUtil.getNowYear();
getNowMonth 获取当前月
let nowMonth = DateUtil.getNowMonth();
getNowDay 获取当前日
let nowDay = DateUtil.getNowDay();
isLeapYear 判断是否是闰年
let isLeapYear1 = DateUtil.isLeapYear();
let isLeapYear2 = DateUtil.isLeapYear(1999);
let isLeapYear3 = DateUtil.isLeapYear(2000);
let isLeapYear4 = DateUtil.isLeapYear(2026);
getDaysByYear 获取指定年份的天数
let day1 = DateUtil.getDaysByYear(2024);
getDaysByMonth 获取指定月份的天数
let day2 = DateUtil.getDaysByMonth(2024, 8);
isSameYear 判断两个日期是否是同一年
let isSameYear = DateUtil.isSameYear("2024-8-18", DateUtil.getToday());
isSameMonth 判断两个日期是否是同一月
let isSameMonth = DateUtil.isSameMonth("2024-8-1", "2024年08月18日");
isSameWeek 判断两个日期是否是同一周
let isSameWeek = DateUtil.isSameWeek("2024-8-12", "2024/08/18");
isSameDay 判断是否是同一天
let isSameDay = DateUtil.isSameDay("2024-08-18", "2024年08月18日");
isWeekend 判断指定的日期在日历中是否为周末
let b1 = DateUtil.isWeekend("2024-08-12");
let b2 = DateUtil.isWeekend("2024-08-15");
let b3 = DateUtil.isWeekend("2024-08-17");
let b4 = DateUtil.isWeekend(DateUtil.getToday());
compareDays 比较指定日期相差的天数
let diff1 = DateUtil.compareDays("2024-8-08", DateUtil.getToday());
let diff2 = DateUtil.compareDays("2024-8-21", "2024年08月18日");
compareDate 比较指定日期相差的毫秒数
let diff3 = DateUtil.compareDate("2024-8-22", "2024/08/18");
let diff4 = DateUtil.compareDate("2024-08-18", DateUtil.getToday());
getAmountDay 获取前几天日期或后几天日期
let date1 = DateUtil.getAmountDay(DateUtil.getToday(), 2);
let date2 = DateUtil.getAmountDay("2024-8-08", -2);
getAmountDayStr 获取前几天日期或后几天日期,返回字符串
let date3 = DateUtil.getAmountDayStr("2024-8-8", 3);
let date4 = DateUtil.getAmountDayStr(DateUtil.getToday(), -3);
getBeforeDay 获取前一天日期
let date1 = DateUtil.getBeforeDay(DateUtil.getToday());
getBeforeDayStr 获取前一天日期,返回字符串
let date2 = DateUtil.getBeforeDayStr("2024-8-08");
getAfterDay 获取后一天日期
let date3 = DateUtil.getAfterDay(DateUtil.getToday());
getAfterDayStr 获取后一天日期,返回字符串
let date4 = DateUtil.getAfterDayStr("2024-8-8");
getWeekOfMonth 获取给定日期是当月的第几周
let n1 = DateUtil.getWeekOfMonth(DateUtil.getToday());
getWeekDay 获取给定的日期是星期几
let n2 = DateUtil.getWeekDay("2024-8-08");
getLastDayOfMonth 获取给定年份和月份的最后一天是几号
let n3 = DateUtil.getLastDayOfMonth(2024, 8);
getFormatTime 格式化时间日期字符串(DateTimeFormat)
let n1 = DateUtil.getFormatTime(DateUtil.getToday());
let n2 = DateUtil.getFormatTime(DateUtil.getToday(), { dateStyle: "full", timeStyle: "medium", hourCycle: "h24" });
let n3 = DateUtil.getFormatTime(DateUtil.getToday(), { dateStyle: "full", timeStyle: "medium", hourCycle: "h12" });
let n4 = DateUtil.getFormatTime(DateUtil.getToday(), { weekday: "short" });
getFormatRange 格式化时间日期段字符串(DateTimeFormat)
let fr = DateUtil.getFormatRange(DateUtil.getAfterDay("2024-05-01"),DateUtil.getToday());
getFormatRelativeTime 格式化相对时间
let frt1 = DateUtil.getFormatRelativeTime(2, 'year');
let frt2 = DateUtil.getFormatRelativeTime(-1, 'year');
let frt3 = DateUtil.getFormatRelativeTime(-1, 'quarter');
let frt4 = DateUtil.getFormatRelativeTime(-2, 'month');
let frt5 = DateUtil.getFormatRelativeTime(-3, 'week');
let frt6 = DateUtil.getFormatRelativeTime(-6, 'day');
let frt7 = DateUtil.getFormatRelativeTime(-6, 'hour');
let frt8 = DateUtil.getFormatRelativeTime(-7, 'minute');
let frt9 = DateUtil.getFormatRelativeTime(-8, 'second');
getTipDateStr 格式化时间戳,获取提示性时间字符串
let timeStamp = DateUtil.getTodayTime();
let tip1 = DateUtil.getTipDateStr(timeStamp);
let tip2 = DateUtil.getTipDateStr(timeStamp - 60000 * 5);
let tip3 = DateUtil.getTipDateStr(timeStamp - 3600000 * 3);
let tip4 = DateUtil.getTipDateStr(timeStamp - 3600000 * 24 * 2);
let tip5 = DateUtil.getTipDateStr(timeStamp - 3600000 * 24 * 360 * 1);

创作不易,请给童长老点赞👍


https://github.com/787107497/harmony-utils
https://gitee.com/tongyuyan/harmony-utils
OpenHarmony三方库

目录
相关文章
|
5月前
|
缓存 JSON 安全
harmony-utils之AppUtil,APP相关工具类
harmony-utils之AppUtil是鸿蒙应用开发中的实用工具类,提供APP初始化、生命周期管理、界面控制、设备信息获取等功能,简化开发流程,提升开发效率。
192 0
harmony-utils之AppUtil,APP相关工具类
|
5月前
|
iOS开发
harmony-dialog预览效果
harmony-dialog 是一款简单易用、零侵入的弹窗组件,支持多种类型如确认框、提示框、输入框、选择器、加载框等,覆盖常见开发需求。
188 0
harmony-dialog预览效果
|
5月前
|
缓存 JSON 前端开发
最受欢迎的三方库之harmony-utils
harmony-utils 是一款功能丰富且易于使用的 HarmonyOS 工具库,涵盖 APP、设备、屏幕、授权、通知、文件操作、加解密等多种常用功能,帮助开发者高效构建鸿蒙应用。体积小巧(仅约 130KB),性能优越,适用于 OpenHarmony API 12 及以上版本。
263 0
|
JSON 算法 安全
harmony-utils之RSA,RSA加解密
harmony-utils是一款专为HarmonyOS打造的高效工具库,提供丰富的实用功能,助力开发者快速构建鸿蒙应用。其RSA模块实现非对称加解密、签名验签等功能,支持密钥生成、数据加密解密及分段处理,适用于安全通信与身份验证等场景。
236 0
|
存储 算法 安全
harmony-utils之MD5,MD5工具类
harmony-utils 是一款功能丰富的 HarmonyOS 工具库,提供包括 MD5 加密在内的多种实用工具类,帮助开发者高效构建鸿蒙应用。
168 0
|
5月前
|
JSON 生物认证 API
harmony-utils之PickerUtil,拍照、文件选择和保存,工具类
PickerUtil 是 harmony-utils 工具库的子模块,提供拍照、相册选择、文件管理等功能,简化鸿蒙应用开发中的资源选取与保存操作。
170 0
|
5月前
|
API Apache 开发者
最受欢迎的三方库之harmony-dialog
harmony-dialog 是一款简单易用的鸿蒙弹窗工具库,支持多种弹窗类型,如提示框、选择器、加载框、吐司等,满足多样化开发需求。一行代码即可调用,使用便捷,兼容 API12+。配合 harmony-utils 使用更佳,助力快速开发。
224 0
|
5月前
|
JSON 前端开发 生物认证
harmony-utils之ScanUtil,码工具类(扫码、码图生成、图片识码)
ScanUtil 是 harmony-utils 中的扫码工具类,支持调用系统扫码、生成二维码/条形码、图片识码及图像数据解析等功能。提供丰富的 API,便于开发者快速实现扫码相关功能,适用于 HarmonyOS 应用开发。
212 0
|
5月前
|
API Apache 开发者
最受欢迎的三方库之mime-types
`mime-types` 是一款用于处理文件 MIME 类型的 OpenHarmony 工具库,支持根据文件名、扩展名或 MIME 类型获取对应信息,并提供文件图标与类型描述符查询功能,适用于 HarmonyOS 应用开发。
214 0
|
算法 网络安全 区块链
harmony-utils之ECDSA,ECDSA工具类
`harmony-utils` 是一款功能丰富的 HarmonyOS 工具库,提供包括 ECDSA 签名与验签在内的多种实用工具,助力开发者高效构建鸿蒙应用。
199 0