如何将 Java 日期转换为字符串

原文:https://www.studytonight.com/java-type-conversion/how-to-convert-java-date-to-string

在 Java 中,日期可以用DateFormatInstant类等几个类转换成字符串DateFormat类提供了一个返回字符串对象的方法format()DateFormat级属于java.text套餐。

1.通过使用format()方法

format()方法是DateFormat类的一部分,它是一个抽象类,用于将Date转换为StringSimpleDateFormat班是DateFormat班的一个子班。

例 1:

这里Date使用SimpleDateFormat类的format()方法转换为String

import java.text.DateFormat;  
import java.text.SimpleDateFormat;  
import java.util.Date;  
import java.util.Calendar; 

public class StudyTonight
{    
   public static void main(String [] args)throws Exception
   {  
      Date d = Calendar.getInstance().getTime();  
      DateFormat df = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");  
      String sDate = df.format(d);  
      System.out.println("String in form of Date is : " + sDate);  

   }

}

转换字符串:2020-27-29 03:27:15

2.通过使用toString()方法

String类的toString()方法用于获取任意类型对象的字符串对象。这里,我们使用toString()将日期对象转换为String类型。请看下面的例子。

package com.studytonight;

import java.util.Date;
public class CoreJava {

    public static void main(String[] args) {
        Date date = new Date();
        String fullDate = date.toString();
        System.out.println(fullDate);
        String dateString = fullDate.substring( 0 , 11 );
        System.out.println(dateString);
        String timeString = fullDate.substring( 11 , 19 );
        System.out.println(timeString);
    }
}

Thu Nov 26 11:54:45 是 2020 Thu Nov 26 11:54:45

在 Java 中 8 java.time

如果您使用的是 Java 8 或更高版本,则使用toInstant()方法获取即时对象,该对象可用于将日期转换为字符串。Instant 类用于使日期对象与 java 8 或更高版本兼容。请看下面的例子。

package com.studytonight;

import java.time.Instant;
import java.util.Date;
public class CoreJava {

    public static void main(String[] args) {
        Date date = new Date();
        Instant instant = date.toInstant();
        String fullDate = instant.toString();
        System.out.println(fullDate);
        String dateString = fullDate.substring( 0 , 10 );
        System.out.println(dateString);
        String timeString = fullDate.substring( 11 , 19 );
        System.out.println(timeString);
    }
}

2020-11-26t 06:31:20.445 z 2020-11-26 06:31:20