How do you set a strftime with javascript?

williamcodes picture williamcodes · Jun 27, 2015 · Viewed 40.9k times · Source

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?

Answer

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>")

Date Object some 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