You are currently viewing Spark date_format() – Convert Date to String format

In this tutorial, we will show you a Spark SQL example of how to convert Date to String format using  date_format() function on DataFrame with Scala language.

date_format() – function formats Date to String format.

Syntax: date_format(date:Column,format:String):Column

Note that Spark Date Functions support all Java Date formats specified in DateTimeFormatter.

Below code snippet takes the current system date and time from current_timestamp() function and converts to String format on DataFrame.


Seq(1).toDF("seq").select(
    current_date().as("current_date"),
    date_format(current_timestamp(),"yyyy MM dd").as("yyyy MM dd"),
    date_format(current_timestamp(),"MM/dd/yyyy hh:mm").as("MM/dd/yyyy"),
    date_format(current_timestamp(),"yyyy MMM dd").as("yyyy MMMM dd"),
    date_format(current_timestamp(),"yyyy MMMM dd E").as("yyyy MMMM dd E")
  ).show(false)

Output:


// Output:
+------------+----------+----------------+------------+------------------+
|current_date|yyyy MM dd|MM/dd/yyyy      |yyyy MMMM dd|yyyy MMMM dd E    |
+------------+----------+----------------+------------+------------------+
|2019-08-08  |2019 08 08|08/08/2019 09:03|2019 Aug 08 |2019 August 08 Thu|
+------------+----------+----------------+------------+------------------+

Complete Example


package com.sparkbyexamples.spark.dataframe.functions.datetime

import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions.{current_date, current_timestamp, date_format}

object DateToString extends App {

  val spark:SparkSession = SparkSession.builder()
    .master("local")
    .appName("SparkByExamples.com")
    .getOrCreate()
  spark.sparkContext.setLogLevel("ERROR")

  import spark.sqlContext.implicits._

// Date to String
  Seq(1).toDF("seq").select(
    current_date().as("current_date"),
    date_format(current_timestamp(),"yyyy MM dd").as("yyyy MM dd"),
    date_format(current_timestamp(),"MM/dd/yyyy hh:mm").as("MM/dd/yyyy"),
    date_format(current_timestamp(),"yyyy MMM dd").as("yyyy MMMM dd"),
    date_format(current_timestamp(),"yyyy MMMM dd E").as("yyyy MMMM dd E")
  ).show(false)
}

Conclusion:

In this article, you have learned how to convert Date to String format using Date functions.