You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中如何将带时间的日期字符串转换为dd-mm-yyyy格式日期

如何将带时间的日期字符串转换为dd-mm-yyyy格式

针对你给出的示例时间戳"2023-01-12T15:51:43.345",以下是几种常用编程语言的实现方案:

Python 实现

方案1:直接字符串分割(适合格式固定的场景)

如果输入的时间戳格式始终是yyyy-mm-ddTHH:MM:SS.sss,可以快速拆分后重组:

timestamp = "2023-01-12T15:51:43.345"
# 拆分出日期部分
date_segment = timestamp.split('T')[0]
# 拆分年、月、日并调整顺序
year, month, day = date_segment.split('-')
formatted_date = f"{day}-{month}-{year}"
print(formatted_date)  # 输出:12-01-2023

方案2:用datetime模块(更健壮,适配格式变化)

如果担心输入格式有微小变动,用标准日期处理模块更稳妥:

from datetime import datetime

timestamp = "2023-01-12T15:51:43.345"
# 解析时间戳为datetime对象
dt_obj = datetime.fromisoformat(timestamp)
# 格式化为dd-mm-yyyy
formatted_date = dt_obj.strftime("%d-%m-%Y")
print(formatted_date)  # 输出:12-01-2023

JavaScript 实现

方案1:字符串拆分重组

const timestamp = "2023-01-12T15:51:43.345";
const dateSegment = timestamp.split('T')[0];
const [year, month, day] = dateSegment.split('-');
const formattedDate = `${day}-${month}-${year}`;
console.log(formattedDate); // 输出:12-01-2023

方案2:借助Date对象处理

如果需要处理不同时区或格式兼容,用Date对象更可靠:

const timestamp = "2023-01-12T15:51:43.345";
const date = new Date(timestamp);
// 确保日、月为两位数字
const day = String(date.getDate()).padStart(2, '0');
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需加1
const year = date.getFullYear();
const formattedDate = `${day}-${month}-${year}`;
console.log(formattedDate); // 输出:12-01-2023

关键提示

  • 若输入日期格式不固定,优先使用语言自带的日期处理工具或成熟库,避免字符串拆分导致的错误。
  • 注意确保日、月部分是两位数字(比如1号显示为01),上述方案已处理该细节。

内容的提问来源于stack exchange,提问作者Lucas Franciscon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:00:56