Oct 10 00:00:00 UTC+0800 2010转换成时间 2010-10-10这样的形式

本文提供了一个使用Java的SimpleDateFormat类解析特定格式日期字符串的示例代码,包括输出解析后的日期对象和格式化的日期字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       String str = "Oct 24 00:00:00 UTC+0800 2011";  
        SimpleDateFormat df = new SimpleDateFormat("MMM dd HH:mm:ss 'UTC'Z yyyy",Locale.ENGLISH);  
        Date date;
        try {
            date = df.parse(str);
            System.out.println(date);  
            System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(date));  
        } catch (ParseException e) {
            // TODO Auto-generated catch block
           e.printStackTrace();
       } 


### 关于 `date` 和 `date -R` 命令输出差异 在 Linux 或 Unix 系统中,`date` 和 `date -R` 的命令输出存在显著差异。以下是两者的具体区别: #### 默认日期时间格式 `date` 命令默认会按照系统的本地化设置显示当前的时间和日期[^1]。其输出通常遵循系统配置文件 `/user/openv/msg/.conf` 中定义的日期时间格式(对于 UNIX 和 Linux),或者 Windows 平台上的安装路径下的 `VERITAS\msg\LC.CONF` 文件中的设定。 #### RFC 2822 格式的实现 当使用 `date -R` 参数时,该命令将以符合 RFC 2822 的标准格式返回日期和时间字符串。这种格式主要用于电子邮件头部的时间戳表示法,它具有固定的结构,例如: ``` Fri, 09 Oct 2023 14:37:00 +0000 ``` 此格式的特点包括星期几缩写、完整的月份名称、年份以及带有时区偏移量的时间字段。 #### 输出对比示例 下面是一个简单的例子来展示两者之间的不同之处: ```bash $ date Thu Oct 12 15:41:23 CST 2023 $ date -R Thu, 12 Oct 2023 07:41:23 +0000 ``` 可以看到,默认情况下 `date` 使用的是本地化的全名描述方式并附上具体的时区简称(CST),而 `-R` 则转换成国际通用的标准形式加上 UTC 时间差(+0000)。 --- ### 结论 因此,在执行 `date` 及 `date -R` 这两个指令的时候所得到的结果之所以不一样是因为它们采用了不同的日期时间和区域性的呈现规则。前者依据用户的环境变量与地区偏好定制;后者则严格遵照互联网邮件协议规定的全球统一表达样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值