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

日期2018-09-06T10:12:21-0300属于哪种格式?如何转为06 Sep格式?

问题解答

1. 日期格式所属标准

你给出的字符串属于 ISO 8601 国际标准的日期时间表示格式,完整结构说明如下:

  • 2018-09-06:年-月-日的日期部分
  • T:固定分隔符,用于分隔日期和时间部分
  • 10:12:21:时:分:秒的时间部分
  • -0300:时区偏移量,代表当前时间比UTC(协调世界时)慢3小时

2. 转换为"06 Sep"格式的实现方案

下面给出几种常用开发语言的实现示例:

Python 实现

可使用dateutil库处理带时区的时间解析,Python 3.7+也可直接用自带的fromisoformat方法:

from datetime import datetime
from dateutil import parser

date_str = "2018-09-06T10:12:21-0300"
dt = parser.parse(date_str)
# %d对应两位日期,%b对应英文月份缩写
result = dt.strftime("%d %b")
print(result) # 输出:06 Sep

JavaScript 实现

const dateStr = "2018-09-06T10:12:21-0300";
const dt = new Date(dateStr);
const day = String(dt.getDate()).padStart(2, '0');
const month = dt.toLocaleString('en-US', { month: 'short' });
const result = `${day} ${month}`;
console.log(result); // 输出:06 Sep

Java 实现

import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class DateConvert {
    public static void main(String[] args) {
        String dateStr = "2018-09-06T10:12:21-0300";
        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");
        OffsetDateTime dt = OffsetDateTime.parse(dateStr, inputFormatter);
        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd MMM", Locale.US);
        String result = dt.format(outputFormatter);
        System.out.println(result); // 输出:06 Sep
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:09:03