【问题标题】:Changing one date format to another将一种日期格式更改为另一种
【发布时间】:2012-06-27 22:11:16
【问题描述】:

我正在获取以下格式的日期(Date 而不是 String):

Tue Jun 26 07:00:00 EDT 2012

我想把日期的格式改成(日期):

6/26/2012 10:19:15 AM 

以便在数据库中更新相同的内容。我尝试了以下代码:

Date dte;
Date dte1;(Tue Jun 26 07:00:00 EDT 2012)
SimpleDateFormat formatter = new SimpleDateFormat("m/dd/yyyy hh:mm:ss a");
String formattedDate = formatter.format(dte1);
dte  = formatter.parse(formattedDate);
SystemUtils.trace("test", " date>>>" + dte); 

正在产生以下响应:

Thu Jan 26 07:00:00 EST 2012

谁能分享这段代码尽快做同样的事情。

【问题讨论】:

  • toString() 方法的Date 实现。如果您打印formattedDate,您将获得正确的格式。如果您在数据库中的列类型是varchar,则使用formattedDate 更新它,如果它是日期/时间戳,那么您存储的格式无关紧要。毕竟它是一个日期。

标签: java date format datetime-format


【解决方案1】:

你可以使用这个小功能

// send your time
private String convertTime(String dateTime) {
//source format will go there
SimpleDateFormat sdfSource = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
    Date date = null;
    try {
        date = sdfSource.parse(dateTime);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    //destination format will go there
    SimpleDateFormat sdfDestination = new SimpleDateFormat("dd-MM-yyyy HH:mm");

    return sdfDestination.format(date);
}

【讨论】:

    【解决方案2】:

    试试这个,下面的代码会满足你的需要。

    public class DateWala {
    
        public static void main(String[] args){
    
        System.out.println(new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a").format(new Date()));
    
       }
    
     }
    

    【讨论】:

    • 请停止使用`backticks`来处理不是代码的内容。谢谢!
    • @Arjan 所以它只是为了我的反引号,我没有得到任何积分???不要专注于我指着月亮的手指,而是欣赏月亮的美丽。
    • 实际上,首先我投了反对票,然后我删除了反对票并修复了格式。请不要浪费人们的时间(我不是唯一编辑您的帖子的人)。也就是说,您发布的代码没有任何解释。我不赞成。
    • 对不起,我不知道从工作中抽出时间并通过提供简单的代码 sn-p 来帮助人们是在浪费他们的时间......但是谢谢
    • 这不是我写的。无论如何,我很高兴你现在知道人们对过度格式化的感受。
    【解决方案3】:

    此代码输出您需要的结果:

    Date dte = new Date();//or something else
    SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
    String formattedDate = formatter.format(dte);
    System.out.println(formattedDate);
    

    【讨论】:

      【解决方案4】:

      您不必格式化日期以将它们插入数据库。如果使用 JDBC,请使用准备好的语句。

      不过,要回答您的问题,m 不能同时表示 分钟M 表示月份。 m 表示分钟

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 2020-01-07
        • 1970-01-01
        • 2019-11-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多