【问题标题】:how can i format the java.sql.Date to MM/dd/yyyy我如何将 java.sql.Date 格式化为 MM/dd/yyyy
【发布时间】:2016-04-10 02:32:39
【问题描述】:

我的代码是

final long MILLIS_IN_A_DAY = 1000*60*60*24;
Date yesterdaydate= new java.sql.Date(new java.util.Date().getTime() - MILLIS_IN_A_DAY);
out.println(yesterdaydate);

我得到的输出格式是 yyyy/mm/dd..我怎样才能在 MM/dd/yyyy 中得到它

【问题讨论】:

标签: java jsp date sqldatetime


【解决方案1】:
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
String DateToStr = format.format(yesterdaydate);
out.println(DateToStr);

【讨论】:

  • @Buwaneka Sumanasekara - 你的例子是完全不言自明的......而且,据我所知,是正确的。 +1。仍然值得指出的是,OP 的“日期差异”方法是错误。我推荐新的 Java 8 日期/时间函数、Joda 时间,或者 - 正如其他人指出的 - Calendar.add()。
【解决方案2】:

请不要那样做。使用 Date 对象获取日期并使用 SimpleDateFormat 解析它。这很简单 。不要对价值进行硬编码。它不方便程序员。请找代码

Date date  = new Date();//Today Date
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");// FOrmat in This Format or you change Change as well 
String Format= format.format(date);
System.out.println(Format);// 01/06/2016

Calendar TodayDate = Calendar.getInstance();
TodayDate.add(Calendar.DAY_ON_MONTH, -1);//import java.util.*
Date yesterday = cal.getTime();
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
String Format = format.format(yesterday);
System.out.println(Format);// 01/06/2016

【讨论】:

  • 无需在对println 的调用中写入"" +。你的意思是DAY_OF_MONTH。世界上几乎每个人都使用小写作为变量名的第一个字母,因此如果您这样做,您的代码将更具普遍可读性。
  • 但是这里我们将格式化输出作为字符串,如何将格式(“MM/dd/yyyy”)作为日期类型本身。
【解决方案3】:

要获取昨天的日期并对其进行格式化,您有 3 个选择:

// Use Java 8+ LocalDate
java.time.LocalDate yesterday = LocalDate.now().minusDays(1);

String text = yesterday.format(DateTimeFormatter.ofPattern("MM/dd/uuuu"));
// Use Joda-Time (3rd-party library)
org.joda.time.LocalDate yesterday = LocalDate.now().minusDays(1);

String text = yesterday.toString("MM/dd/yyyy");
// Use Calendar (all Java versions, no 3rd-party library)
java.util.Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_ON_MONTH, -1);
java.util.Date yesterday = cal.getTime();

String text = new SimpleDateFormat("MM/dd/yyyy").format(yesterday);

请注意,Calendar 版本仍会生成带有时间的“日期”值。需要额外的代码来清除时间字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 2013-11-01
    • 2021-08-01
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    相关资源
    最近更新 更多