java - 字符串对象到日期对象。与字符串相同的输出

标签 java

我有一个字符串27-05-2015 09:01:53 PM。我希望它将其转换为 Date 对象,并且 Date 对象应该类似于 27-05-2015 09:01:53 PM(与我的字符串类似)。

我尝试了SimpleDateFormat,但它给出了Wed May 27 00:00:00 CDT 2015。 如果我使用 SimpleDateFormat 的格式方法,那么它会转换为 String

代码: SimpleDateFormat 格式化程序 = new SimpleDateFormat( “dd-MM-yyyy HH:mm:ss a”);

    String dateInString = "27-05-2015 10:23:31 PM";

    try {

        Date date = formatter.parse(dateInString);
        System.out.println(date);

        System.out.println(formatter.format(date));
        // String s = formatter.format(date);

        // System.out.println(s.substring(7, 9) + ":" + s.substring(27));
        // System.out.println(s.substring(0, 2) +"/");
        // Date dt = Calendar.getInstance().getTime();
        // System.out.println(formatter.format(dt));
        // System.out.println(Calendar.getInstance().getTime());

    } catch (ParseException e) {
        e.printStackTrace();
    }

我想要 Date 对象采用这种格式 27-05-2015 09:01:53 PM

最佳答案

不,您不能(字符串对象到日期对象与字符串相同的输出)。 Date 类有它自己的 toString() 方法实现。当您打印日期对象时,如 System.out.println(date);这意味着它基本上打印了 toString() 方法的实现格式。

Date类的toString()方法

public String toString() {
    // "EEE MMM dd HH:mm:ss zzz yyyy";
    BaseCalendar.Date date = normalize();
    StringBuilder sb = new StringBuilder(28);
    int index = date.getDayOfWeek();
    if (index == gcal.SUNDAY) {
        index = 8;
    }
    convertToAbbr(sb, wtb[index]).append(' ');            // EEE
    convertToAbbr(sb, wtb[date.getMonth() - 1 + 2 + 7]).append(' ');  // MMM
    CalendarUtils.sprintf0d(sb, date.getDayOfMonth(), 2).append(' '); // dd

    CalendarUtils.sprintf0d(sb, date.getHours(), 2).append(':');   // HH
    CalendarUtils.sprintf0d(sb, date.getMinutes(), 2).append(':'); // mm
    CalendarUtils.sprintf0d(sb, date.getSeconds(), 2).append(' '); // ss
    TimeZone zi = date.getZone();
    if (zi != null) {
        sb.append(zi.getDisplayName(date.isDaylightTime(), zi.SHORT, Locale.US)); // zzz
    } else {
        sb.append("GMT");
    }
    sb.append(' ').append(date.getYear());  // yyyy
    return sb.toString();
    }

关于java - 字符串对象到日期对象。与字符串相同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30499901/

相关文章:

java - 如何获取 ICompilationUnit 的保存版本?

java - 使用synchronized block 的同步队列

Java 通过 HashMap 从 Object[][] 返回 int

java - Struts2,JSP,迭代中的 null 和 Empty 测试字符串

Java 程序查找 2,000,000 以下的所有素数之和(Project Euler)

java - 尝试加载 binding.gyp 时调用 'node findJavaHome.js' 返回退出状态 1。

java - 将类中的所有静态变量放入数组/列表

java - JAVA_HOME在执行java命令时是固定的还是可以在命令中修改?

java - Apache HttpClient 摘要身份验证

java - Thymeleaf Map<String, Object> 迭代和映射键中的非英语字符