【问题标题】:Date format conversion from 'Tue May 20 00:00:00 PKT 2014' to 20-05-2014 [closed]从 'Tue May 20 00:00:00 PKT 2014' 到 20-05-2014 的日期格式转换 [关闭]
【发布时间】:2023-03-07 09:24:01
【问题描述】:

我有这种格式的日期Tue May 20 00:00:00 PKT 2014,我想将其转换为20-05-2014

我从 ADF inputDate 组件中获取此值。请帮忙。

【问题讨论】:

  • 阅读SimpleDateFormat
  • 您可以使用SimpleDateFormat来格式化日期。
  • How to parse a date? 的可能重复项
  • 我对这个问题投了反对票,因为日期格式和转换在开放网络上广泛记录在案,并且在任何搜索引擎上使用合理关键字进行的任何基本搜索都会返回代码示例。许多点击也将链接回 SO。这也是那种只会让 SO 和 esp 混乱的问题。 Java 标记,并且如果 OP 不努力进行基础研究,则几乎没有。这个问题应该结束了。
  • @BalusC 我想一种喂养另一种。到目前为止周一很糟糕。

标签: java date datepicker


【解决方案1】:

使用SimpleDateFormat 与您的语言环境一起尝试这个

// Locale for Pakistan region
Locale aLocale = new Locale.Builder().setRegion("PK").build();

// Tue May 20 00:00:00 PKT 2014
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", aLocale);
Date date = format.parse("Tue May 20 00:00:00 PKT 2014");

// 20-05-2014
SimpleDateFormat format1 = new SimpleDateFormat("dd-MM-yyyy", aLocale);

System.out.println(format1.format(date));

输出:

20-05-2014

【讨论】:

  • 看,这是一个很好的答案 +1
  • @MadProgrammer 很高兴。谢谢
【解决方案2】:

试试这个util方法,

static public String getDateInDDMMYY(Date date) throws ParseException{

    Format formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String _24HoursFTimeToConvert = formatter.format(date);

         SimpleDateFormat _24HourSDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         SimpleDateFormat _12HourSDF = new SimpleDateFormat("dd-MM-yyyy");

         Date _24HourDt = _24HourSDF.parse(_24HoursFTimeToConvert);

        return _12HourSDF.format(_24HourDt);
    }

【讨论】:

  • 好的,这样就可以得到输出了,但是如何解析原始的String值呢?
  • @MadProgrammer,输入是日期而不是字符串,所以这里不需要解析。
  • 我可能是错的,但我将输入读取为String - 问题缺乏上下文,我的错
猜你喜欢
  • 1970-01-01
  • 2014-04-24
  • 2018-10-12
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-26
  • 2021-03-25
相关资源
最近更新 更多