wvdschel
wvdschel

Reputation: 11848

Convert a date to string in Javascript

I'm looking for a way to convert a Javascript Date object to a string. I'm converting my site from Ruby to server side Javascript, and I'm looking for something analogous to strftime in Ruby, C, and many other languages.

I found plenty of simple scripts that do this kind of conversion, but I'd prefer not to include a custom implementation if there is a standard way of doing this.

I'm not using a Javascript framework. I'm using Mozilla Rhino, but would prefer to stay away from using the Java library as much as possible, to allow moving my code easily between implementations.

I want to be able to specify the format of the string, since I want to embed it in a sentence. I want to be able to insert arbitrary on's and at's, and have the full name of the day, not just it's abbreviation. So toString() won't suffice.

Upvotes: 8

Views: 48185

Answers (6)

gusterlover6
gusterlover6

Reputation: 737

MomentJS has a very robust set of time formatting options, and has also been updated recently.

Upvotes: 2

Tim Down
Tim Down

Reputation: 324727

You could use my JavaScript implementation of Java's SimpleDateFormat: http://www.timdown.co.uk/code/simpledateformat.php. It's a little lighter than date.js and is kept up to date as it is included in log4javascript.

Upvotes: 1

Paul D. Waite
Paul D. Waite

Reputation: 98946

There isn’t anything built into JavaScript that allows you to format the display of a date like strftime does.

The closest is Date().toLocaleString(), which returns the date as a string formatted according to the local time zone.

Upvotes: 6

Josh Stodola
Josh Stodola

Reputation: 82523

There is a free (and awesome) library for Javascript called Datejs that gives you all sorts of formatting and parsing capabilities (see the FormatSpecifiers documentation).

Upvotes: 9

tangens
tangens

Reputation: 39753

You could use

new Date().toString()

...to get a localized output of the date.

Upvotes: 1

Annie
Annie

Reputation: 6631

Dates have a built-in toString:

alert(new Date().toString())

"Sat Dec 19 2009 08:23:33 GMT-0800 (Pacific Standard Time)"

Upvotes: 2

Related Questions