HarmonyOS 鸿蒙Next ISO格式的日期怎么转正常阅读的日期格式?

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ISO格式的日期怎么转正常阅读的日期格式? ISO 格式的日期怎么转正常阅读的日期格式?

2 回复
export function formatISODateToYYYYMMDD(isoDateString: string): string {
  if (isoDateString) {
    // 解析 ISO 格式的日期时间字符串为 Date 对象
    const date = new Date(isoDateString);

    // 从 Date 对象中提取年月日信息
    const year = date.getUTCFullYear();
    const month = String(date.getUTCMonth() + 1).padStart(2, '0'); // 月份从 0 开始,所以加 1,并使用 padStart 确保为两位数
    const day = String(date.getUTCDate()).padStart(2, '0'); // 使用 padStart 确保为两位数


    if (new Date().getFullYear() === year) {
      //今年
      return `${month}月${day}日`;
    }
    return `${year}年${month}月${day}日`;

  }
  return ""
}

更多关于HarmonyOS 鸿蒙Next ISO格式的日期怎么转正常阅读的日期格式?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,如果你需要将ISO格式的日期转换为正常阅读的日期格式,可以通过编程实现,这里以鸿蒙系统支持的JavaScript为例进行说明。ISO格式的日期通常形如YYYY-MM-DDTHH:mm:ss.sssZ,而正常阅读的日期格式可能是YYYY年MM月DD日 HH时mm分ss秒

你可以使用JavaScript的Date对象和一些字符串处理方法来完成转换。以下是一个简单的示例代码:

function convertISOToReadable(isoDate) {
    let date = new Date(isoDate);
    let year = date.getFullYear();
    let month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需要加1
    let day = String(date.getDate()).padStart(2, '0');
    let hours = String(date.getHours()).padStart(2, '0');
    let minutes = String(date.getMinutes()).padStart(2, '0');
    let seconds = String(date.getSeconds()).padStart(2, '0');
    
    return `${year}年${month}月${day}日 ${hours}时${minutes}分${seconds}秒`;
}

// 示例
let isoDate = "2023-10-05T14:48:00.000Z";
let readableDate = convertISOToReadable(isoDate);
console.log(readableDate); // 输出:2023年10月05日 22时48分00秒(注意时区差异)

请注意,由于ISO日期通常是UTC时间,而本地时间可能有所不同,因此转换结果可能会受到时区影响。上述代码未考虑时区转换,如需考虑时区,需进一步处理。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部