鸿蒙三方库 | harmony-utils之DateUtil日期格式化详解

发布时间:2026/7/28 13:13:07

鸿蒙三方库 | harmony-utils之DateUtil日期格式化详解 前言日期格式化是开发中的高频需求将Date对象转换为指定格式的字符串。pura/harmony-utils的DateUtil封装了日期格式化方法支持多种格式模板。本文将从API说明、代码实战、进阶用法、常见问题等多个维度进行全面讲解帮助开发者快速掌握并应用到实际项目中。一、DateUtil格式化核心APIDateUtil提供了以下日期格式化方法方法说明返回类型使用场景format(date, pattern)格式化日期string日期展示formatNow(pattern)格式化当前时间string时间戳parse(str, pattern)解析日期字符串Date日期解析1.1 格式化模板符号符号说明示例yyyy年2024MM月01-12dd日01-31HH时(24)00-23mm分00-59ss秒00-59EEEE星期星期一1.2 核心特性简洁易用封装复杂逻辑为一行调用降低使用门槛类型安全完整的TypeScript类型定义编译期即可发现错误异常处理内置异常捕获机制避免运行时崩溃灵活模板支持自定义格式模板1.3 常用格式模板模板输出示例说明yyyy-MM-dd2024-01-15日期HH:mm:ss14:30:00时间yyyy-MM-dd HH:mm:ss2024-01-15 14:30:00日期时间yyyy年MM月dd日2024年01月15日中文日期二、完整使用步骤2.1 安装依赖ohpminstallpura/harmony-utils2.2 格式化当前时间import{DateUtil}frompura/harmony-utils;Button(格式化当前时间).width(100%).onClick((){try{letdateStrDateUtil.formatNow(yyyy-MM-dd HH:mm:ss);this.result当前时间:${dateStr};}catch(e){this.result异常: e;}})2.3 格式化指定日期Button(格式化指定日期).width(100%).onClick((){try{letdatenewDate(2024,0,15,14,30,0);letformattedDateUtil.format(date,yyyy年MM月dd日 EEEE);this.result格式化:${formatted};}catch(e){this.result异常: e;}})三、完整页面示例import{DateUtil}frompura/harmony-utils;EntryComponentstruct DateFormatDemo{Stateresult:string;build(){Column({space:12}){Button(当前时间).width(100%).onClick((){this.resultDateUtil.formatNow(yyyy-MM-dd HH:mm:ss);});Button(中文格式).width(100%).onClick((){this.resultDateUtil.formatNow(yyyy年MM月dd日 EEEE);});Text(this.result).fontSize(14).fontColor(#333333)}.padding(16)}}四、进阶用法4.1 日志时间戳import{DateUtil}frompura/harmony-utils;functionlogWithTimestamp(message:string):void{lettimestampDateUtil.formatNow(yyyy-MM-dd HH:mm:ss.SSS);console.log([${timestamp}]${message});}4.2 文件名日期functiongenerateDatedFilename(prefix:string,ext:string):string{letdateStrDateUtil.formatNow(yyyyMMdd_HHmmss);return${prefix}_${dateStr}.${ext};}五、注意事项模板大小写MM是月mm是分HH是24时hh是12时月份从0开始JavaScript Date的月份是0-11时区问题格式化使用本地时区初始化依赖使用前需确保AppUtil.init()已调用解析格式parse需要与format使用相同的模板六、常见问题Q1: MM和mm有什么区别MM是月份01-12mm是分钟00-59注意大小写。Q2: 如何获取12小时制时间使用hh代替HH如 hh:mm:ss。Q3: formatNow每次调用都获取最新时间吗是的formatNow内部获取当前时间再格式化。Q4: parse解析失败返回什么解析失败通常返回null或Invalid Date。总结DateUtil的日期格式化方法为时间展示提供了便捷支持。本文详细介绍了核心API、使用步骤、完整示例、进阶用法以及常见问题的解决方案。开发者可以利用这些方法灵活地格式化日期时间。本文基于pura/harmony-utils工具库更多功能请参考官方文档与后续系列文章。

相关新闻