# 在 Java 中将`Date`转换为`String`

> 原文： [https://beginnersbook.com/2013/05/java-date-string-conversion/](https://beginnersbook.com/2013/05/java-date-string-conversion/)

我们之前看过，如何[在 Java](https://beginnersbook.com/2013/04/java-string-to-date-conversion/) 中将`String`转换为`Date`。这篇文章是该文章的延续，在这里我们将学习 Java 中的`Date`到`String`转换。

## Java 代码：将日期转换为字符串

在本节之后，我已经共享了`Date`到`String`转换的完整代码。以下函数将`Date`转换为`String`。在下面的函数中，我使用了格式`dd/MM/yyyy`，但是如果你想要任何其他格式的结果，那么你可以简单地修改`SimpleDateFormat`中的模式。您也可以参考 Java 中关于[日期格式的文章之一](https://beginnersbook.com/2013/04/java-date-format/)。

**函数：**

```java
public String convertStringToDate(Date indate)
{
   String dateString = null;
   SimpleDateFormat sdfr = new SimpleDateFormat("dd/MMM/yyyy");
   /*you can also use DateFormat reference instead of SimpleDateFormat 
    * like this: DateFormat df = new SimpleDateFormat("dd/MMM/yyyy");
    */
   try{
	dateString = sdfr.format( indate );
   }catch (Exception ex ){
	System.out.println(ex);
   }
   return dateString;
}
```

### 完成`Date`到`String`转换的示例程序

在这个例子中，我将[当前日期](https://beginnersbook.com/2013/05/current-date-time-in-java/)作为输入并转换为`String`。为了获得各种格式的输出字符串，我在`SimpleDateFormat`中指定了不同的两个模式。

```java
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateToStringDemo{
   public static void main(String args[])
   {
       Date todaysDate = new Date();
       DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
       DateFormat df2 = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
       DateFormat df3 = new SimpleDateFormat("dd-MMM-yyyy");
       DateFormat df4 = new SimpleDateFormat("MM dd, yyyy");
       DateFormat df5 = new SimpleDateFormat("E, MMM dd yyyy");
       DateFormat df6 = new SimpleDateFormat("E, MMM dd yyyy HH:mm:ss");
       try
       {
           //format() method Formats a Date into a date/time string. 
           String testDateString = df.format(todaysDate);
           System.out.println("String in dd/MM/yyyy format is: " + testDateString);
           String str2 = df2.format(todaysDate);
           System.out.println("String in dd-MM-yyyy HH:mm:ss format is: " + str2);
           String str3 = df3.format(todaysDate);
           System.out.println("String in dd-MMM-yyyy format is: " + str3);
           String str4 = df4.format(todaysDate);
           System.out.println("String in MM dd, yyyy format is: " + str4);
           String str5 = df5.format(todaysDate);
           System.out.println("String in E, MMM dd yyyy format is: " + str5);
           String str6 = df6.format(todaysDate);
           System.out.println("String in E, E, MMM dd yyyy HH:mm:ss format is: " + str6);

       }
       catch (Exception ex ){
          System.out.println(ex);
       }
    }
}
```

输出：

```java
String in dd/MM/yyyy format is: 02/01/2014
String in dd-MM-yyyy HH:mm:ss format is: 02-01-2014 22:38:35
String in dd-MMM-yyyy format is: 02-Jan-2014
String in MM dd, yyyy format is: 01 02, 2014
String in E, MMM dd yyyy format is: Thu, Jan 02 2014
String in E, E, MMM dd yyyy HH:mm:ss format is: Thu, Jan 02 2014 22:38:35
```

#### 参考：

*   [`DateFormat`](https://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html)
*   [`SimpleDateFormat`](https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)
*   [`Date` - javadoc](https://docs.oracle.com/javase/7/docs/api/java/util/Date.html)