Search code examples
javascriptdatetimestrftime

How do you set a strftime with javascript?


I need to custom format dates. In ruby, I would use strftime, or string formatted time, to accomplish this.

now = Time.new
now.strftime '%a, %d of %b' #=> "Sat, 27 of Jun"

Does javascript use strftime or some equivalent? How can I get a similar effect in javascript?


Solution

  • UPDATE

    Arguments of toLocaleString method can also configure the format of the dates. This is supported in modern browser versions, you can see more information here.

    let date = new Date(Date.UTC(2015, 5, 27, 12, 0, 0))
    , options = {weekday: 'short', month: 'short', day: 'numeric' };
    console.log(date.toLocaleString('es-ES', options)); //sáb. 27 de jun.

    In JavaScript there are methods to create dates, but no native code to format. You can read about Date(). But there are libraries that do. Particularly for me the best library to use it deeply is MomentJS. So you can do something like as: moment().format('dd, d of MMMM')

    However, if you do not want to use a library you have access to the following native Date properties:

    var now = new Date();
    
    document.write(now.toUTCString() + "<br>")
    document.write(now.toTimeString() + "<br>")

    Here are some Date Object properties:

    toDateString()        // Converts the date portion of a Date object into a readable string
    toGMTString()         // Deprecated. Use the toUTCString() method instead
    toISOString()         // Returns the date as a string, using the ISO standard
    toJSON()              // Returns the date as a string, formatted as a JSON date
    toLocaleDateString()  // Returns the date portion of a Date object as a string, using locale conventions
    toLocaleTimeString()  // Returns the time portion of a Date object as a string, using locale conventions
    toLocaleString()      // Converts a Date object to a string, using locale conventions
    toString()            // Converts a Date object to a string
    toTimeString()        // Converts the time portion of a Date object to a string
    toUTCString()         // Converts a Date object to a string, according to universal time