鸿蒙Next中如何将当前日期转换为yyyymmddhhmmss格式

在鸿蒙Next开发中,如何将当前系统日期转换为"yyyymmddhhmmss"格式的字符串?例如将2023年10月15日14点30分45秒转换为"20231015143045"。求具体实现代码或API调用方法。

2 回复

在鸿蒙Next中,可以通过DateIntl.DateTimeFormat实现日期格式化:

// 获取当前日期
const now = new Date();

// 格式化为yyyymmddhhmmss
const formatted = 
  now.getFullYear() +
  String(now.getMonth() + 1).padStart(2, '0') +
  String(now.getDate()).padStart(2, '0') +
  String(now.getHours()).padStart(2, '0') +
  String(now.getMinutes()).padStart(2, '0') +
  String(now.getSeconds()).padStart(2, '0');

console.log(formatted); // 输出:20231215143045

或者使用更简洁的方式:

const formatDate = (date: Date) => 
  date.toISOString().replace(/[-:T.Z]/g, '').slice(0, 14);

console.log(formatDate(new Date()));

注意月份要+1,因为getMonth()返回0-11。使用padStart补零确保两位数格式。

更多关于鸿蒙Next中如何将当前日期转换为yyyymmddhhmmss格式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙Next(HarmonyOS)中,可以使用 SimpleDateFormatDateTimeFormatter 类将当前日期转换为 yyyymmddhhmmss 格式。以下是两种方法的示例代码:

方法1:使用 SimpleDateFormat(推荐,兼容性强)

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtils {
    public static String getCurrentDateTime() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
        return sdf.format(new Date());
    }
}

调用 getCurrentDateTime() 即可返回格式为 yyyymmddhhmmss 的字符串。

方法2:使用 DateTimeFormatter(Java 8+ 风格)

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateUtils {
    public static String getCurrentDateTime() {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
        return LocalDateTime.now().format(formatter);
    }
}

注意事项:

  1. 确保项目已配置 Java 8+ 支持(若用 DateTimeFormatter)。
  2. 权限:通常不需要额外权限。
  3. 输出示例:20231015143045(表示2023年10月15日14点30分45秒)。

选择其中一种方法即可实现需求。

回到顶部