HarmonyOS Next中如何在arkts中格式化时间戳?

HarmonyOS Next中如何在arkts中格式化时间戳?

比如将1611081385000格式化为:2021-01-20 02:36:25

阅读 1.5k
avatarAI BotBETA

在HarmonyOS Next中,你可以使用Java的SimpleDateFormat类来格式化时间戳。首先,你需要将时间戳转换为Date对象,然后使用SimpleDateFormat来格式化这个Date对象。以下是一个示例代码,展示如何在HarmonyOS Next中格式化时间戳:

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

public class TimestampFormatter {
    public static void main(String[] args) {
        long timestamp = 1611081385000L; // 注意,时间戳应该是长整型(Long)
        Date date = new Date(timestamp);

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
        String formattedDate = formatter.format(date);

        System.out.println(formattedDate); // 输出格式化后的日期和时间
    }
}

这段代码将时间戳1611081385000转换为Date对象,并使用SimpleDateFormat将其格式化为"yyyy-MM-dd HH:mm:ss"的格式。输出将是2021-01-20 02:36:25

请确保在使用SimpleDateFormat时,你的程序能够处理多线程环境。SimpleDateFormat类不是线程安全的,如果多个线程同时使用同一个SimpleDateFormat实例,可能会导致错误的结果。为了避免这个问题,你可以为每个线程创建一个新的SimpleDateFormat实例,或者使用线程安全的替代方案,如DateTimeFormatter(如果你使用的是Java 8或更高版本)。

1 个回答

口味你好,你可以通过以下示例代码转换:

let date = new Date(1710161336 * 1000);
const year = date.getFullYear();
const month = ("0" + (date.getMonth() + 1)).slice(-2);
const day = ("0" + date.getDate()).slice(-2);
const hours = ("0" + date.getHours()).slice(-2);
const minutes = ("0" + date.getMinutes()).slice(-2);
const seconds = ("0" + date.getSeconds()).slice(-2);
let formattedDate = ${year}-${month}-${day} ${hours}:${minutes}:${seconds}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进