Random Date Js
Welcome to our ultimate guide on the JavaScript Date
object and Moment.js. This tutorial will teach you everything you need to know about working with dates and times in your projects.
Useful, free online tool that generates random calendar dates. No ads, nonsense or garbage, just a random date generator. About the random date generator. To pick a date at random, start by specifying the start and end date (day, month, and year) of the period you want to select a random date from. By default the period is one calendar year starting from today. Continue by selecting if.
How to Create a Date
Object
Get the current date and time
Get a date and time with individual values
The syntax is Date(year, month, day, hour, minute, second, millisecond)
.
Note that the months are zero-indexed, beginning with January at 0 and ending with December at 11.
Get a date and time from a timestamp
This represents the time at Thursday, January 1st, 1970 (UTC), or the Unix Epoch time. The Unix Epoch is important because it's what JavaScript, Python, PHP, and other languages and systems use internally to calculate the current time.
new Date(ms)
returns the date of the epoch plus the number of milliseconds you pass in. In a day there's 86,400,000 milliseconds so:
will return Friday, January 2nd, 1970 (UTC).
Get a date and time from a string
Getting the date this way is very flexible. All of the examples below return valid Date
objects:
You can also use the Date.parse()
method to return the number of milliseconds since the epoch (January 1st, 1970):
Setting a time zone
When passing a date string without setting a time zone, JavaScript assumes the date/time are in UTC before converting it to your browser's time zone:
This can lead to errors where the date returned is off by many hours. To avoid this, pass in a time zone along with the string:
You can also pass some, but not all, time zone codes:
Date
Object Methods
Often you will not need the entire date, but just part of it like the day, week or month. Fortunately there are a number of methods to do just that:
Make Working with Dates Easier with Moment.js
Getting dates and times right is no small task. Every country seems to have a different way of formatting dates, and accounting for different time zones and daylight savings/summer time takes, well, a whole lot of time. That's where Moment.js shines – it makes parsing, formatting, and displaying dates a breeze.
To start using Moment.js, install it through a package manager like npm
, or add it to your site through a CDN. See the Moment.js documentation for more details.
Get the current date and time with Moment.js
This returns an object with the date and time based on your browser's location, along with other locale information. It's similar to native JavaScript's new Date()
.
Get a date and time from a timestamp with Moment.js
Similar to new Date(ms)
, you can pass the number of milliseconds since the epoch to moment()
:
If you want to get a date using a Unix timestamp in seconds, you can use the unix()
method:
Get a date and time from a string with Moment.js
Parsing a date from a string with Moment.js is easy, and the library accepts strings in the ISO 8601 or RFC 2822 Date Time format, along with any string accepted by the JavaScript Date
object.
ISO 8601 strings are recommended since it is a widely accepted format. Here are some examples:
Setting a time zone with Moment.js
Up until now, we have been using Moment.js in local mode, meaning that any input is assumed to be a local date or time. This is similar to how the native JavaScript Date
object works:
However, to set a time zone, you must first get the Moment object in UTC mode:
Then you can adjust for the difference in time zones with the utcOffset()
method:
You can also set the UTC offset as a number or a string:
To use named time zones (America/Los_Angeles
) or time zone codes (PDT
) with Moment objects, check out the Moment Timezone library.
Format the date and time with Moment.js
One of the major strengths that Moment.js has over native JavaScript Date
objects is how easy it is to format the output date and time. Just chain the format()
method to a Moment date object and pass it a format string as a parameter:
Here's a table with some common formatting tokens:
Input | Output | Description |
---|---|---|
YYYY | 2019 | 4 digit year |
YY | 19 | 2 digit year |
MMMM | August | Full month name |
MMM | Aug | Abbreviated month name |
MM | 08 | 2 digit month |
M | 8 | 1 digit month |
DDD | 225 | Day of the year |
DD | 13 | Day of the month |
Do | 13th | Day of the month with ordinal |
dddd | Wednesday | Full day name |
ddd | Wed | Abbreviated day name |
HH | 17 | Hours in 24 hour time |
hh | 05 | Hours in 12 hour time |
mm | 32 | Minutes |
ss | 19 | Seconds |
a | am / pm | Ante or post meridiem |
A | AM / PM | Capitalized ante or post meridiem |
ZZ | +0900 | Timezone offset from UTC |
X | 1410715640.579 | Unix timestamp in seconds |
XX | 1410715640579 | Unix timestamp in milliseconds |
See the Moment.js docs for more formatting tokens.
Working with JavaScript Date
objects and Moment.js doesn't have to be time consuming. Now you should know more than enough to get started with both.
Help
List of template tags
Date And Time Generator
Returns random item from passed arguments list.
Usage
Returns
*Specifies number of repeats of array item. Repeatable array must contains only two items: first is repeat tag, second is item that must be repeated. If no arguments is specified item will be repeated from 0 to 10 times. If min argument is specified, item will be repeated that many times. If both arguments are specified, item will be repeated in specified range of times.
Usage
Arguments
Param | Type | Details |
---|---|---|
min (optional) | Number | Minimum number in the range. Default is 0. |
max (optional) | Number | Maximum number in the range. Default is 10. |
Returns
NumberIndex of current cloned object starting from 0.
Usage
Arguments
Param | Type | Details |
---|---|---|
startFrom (optional) | Number | Index will start from this value. Default is 0. |
Returns
NumberRandom integer in specified range. Can be negative.
Usage
Arguments
Param | Type | Details |
---|---|---|
min (optional) | Number | Minimum number in the range. Default is 0. |
max (optional) | Number | Maximum number in the range. Default is 10. |
format (optional) | String | Number format. For more info visit Numeral.js. |
Returns
NumberStringRandom float in specified range. If min argument is float, generated number will be float too with same number of decimals. Can be negative.
Usage
Arguments
Param | Type | Details |
---|---|---|
min (optional) | Number | Minimum number in the range. Default is 0. |
max (optional) | Number | Maximum number in the range. Default is 10. |
fixed (optional) | Number | Number of decimals. Default is 4. |
format (optional) | String | Number format. For more info visit Numeral.js. |
Returns
NumberStringRandom boolean value.
Usage
Returns
BooleanRandom date in specified range.
Usage
Arguments
Random Date Scheduler
Param | Type | Details |
---|---|---|
min (optional) | Date | Minimum date in the range. Default is new Date(1970, 0, 1). |
max (optional) | Date | Maximum date in the range. Default is new Date(). |
format (optional) | String | Date format. For more info visit datef. |
Returns
NumberGive Me A Random Date
Random Lorem Ipsum text.
Usage
Arguments
Param | Type | Details |
---|---|---|
count (optional) | Number | Number of generated units. Default is 1. |
units (optional) | String | Units type. Can be words, sentences, or paragraphs. Default is sentences. |
Returns
StringMongoDB's globally unique identifier for objects.
Usage
Returns
StringRandom globally unique identifier.
Usage
Returns
StringRandom Date Java
You can create your own function, that returns any value. this keyword contains current generated object so you can refer previous existing fields as shown in example.
Usage
Arguments
Param | Type | Details |
---|---|---|
tags | Object | Object with generation methods which has same names as the tags. |
index | Number | Index of current cloned object starting from 0. |
Returns
*Random person name of both genders if no gender is specified.
Usage
Arguments
Param | Type | Details |
---|---|---|
gender (optional) | String | Gender of person name. Can be male or female. |
Returns
StringPreviously generated person gender. Must be after field, that contains firstName tag.
Usage
Returns
StringRandom person surname.
Usage
Returns
StringRandom company name.
Usage
Returns
StringGenerates email based on firstName, surname and company that are called before of it.
Usage
Arguments
Param | Type | Details |
---|---|---|
random (optional) | Boolean | If true, random email address will be generated. Default is false. |
Returns
StringGenerates random phone number.
Random Date Java
Usage
Arguments
Param | Type | Details |
---|---|---|
format (optional) | String | Format string which contains x letters. Default is '(xxx) xxx-xxxx'. |
Returns
StringRandom country name.
Usage
Arguments
Param | Type | Details |
---|---|---|
abbreviation (optional) | Boolean | If passed returns country name abbreviation instead of full name. |
Returns
StringReturns a list of 205 unique countries instead of passed string.
Usage
Returns
ArrayRandom US state name.
Usage
Arguments
Param | Type | Details |
---|---|---|
abbreviation (optional) | Boolean | If passed returns state name abbreviation instead of full name. |
Returns
StringRandom US city name.
Usage
Returns
StringRandom US street name.
Usage
Returns
StringUsage
JSON Generator has a convenient syntax. You can specify JavaScript object for template that you see in the left box. It will be cloned in infinite depth. Fields may have any name and value, but it must be valid JavaScript. Values, which are strings, may contain one or more template tags. When you click 'Generate' the data source object to be copied several times and the place of tags will be inserted random values.
You can copy the generated JSON to clipboard by clicking 'Copy to clipboard'. If you click 'Upload', JSON will be stored on the server and you can download generated file by clicking 'Download' button or access it via ajax-request by URL that will be copied to clipboard after clicking 'Copy URL' button. Yes, JSON Generator can JSONP :) Supported HTTP methods are: GET, POST, PUT, OPTIONS.
Size of uploaded generated files does not exceed 500 kB. Size appears at the top right of the field with the generated data. If file size text is red - file is too large for saving on server, but you can copy it to your clipboard and save locally to *.json file.
You can choose indentation for the generated JSON from the drop-down list. Also when you copy the link to uploaded code there is an 'indent' param in URL. It can has values of 2, 3 and 4. If param is not specified code will be compact. Example: http://www.json-generator.com/j/JSON_ID?indent=4
Also you can choose status code for response by passing 'status' param in URL. Example: http://www.json-generator.com/j/JSON_ID?status=401
JSON Generator remembers your last template in localStorage. If you want to reset it, click 'Reset' button to reset template and UI.
About
We've all faced the problem of lack of information in our app. All interfaces seem lifeless and empty. Debugging with no data is also not simple.
I think that each of us has at least once in their lives created a bunch of files with JSON data, but they were just one object propagated without unique fields. JSON Generator was created in order to help with this. It provides an opportunity generate any data and in any quantity. Edit template, click 'Generate' and you're done.
If you have found a bug, you have a suggestion for improving the application or just want to thank me, click on 'Feedback'.