Get String in Yyyymmdd Format from Js Date Object

Get String in YYYYMMDD format from JS date object?

Altered piece of code I often use:

Date.prototype.yyyymmdd = function() {
var mm = this.getMonth() + 1; // getMonth() is zero-based
var dd = this.getDate();

return [this.getFullYear(),
(mm>9 ? '' : '0') + mm,
(dd>9 ? '' : '0') + dd
].join('');
};

var date = new Date();
date.yyyymmdd();

Get String in YYYYMMDD format from JS date object?

Altered piece of code I often use:

Date.prototype.yyyymmdd = function() {
var mm = this.getMonth() + 1; // getMonth() is zero-based
var dd = this.getDate();

return [this.getFullYear(),
(mm>9 ? '' : '0') + mm,
(dd>9 ? '' : '0') + dd
].join('');
};

var date = new Date();
date.yyyymmdd();

Format JavaScript date as yyyy-mm-dd

You can do:

function formatDate(date) {
var d = new Date(date),
month = '' + (d.getMonth() + 1),
day = '' + d.getDate(),
year = d.getFullYear();

if (month.length < 2)
month = '0' + month;
if (day.length < 2)
day = '0' + day;

return [year, month, day].join('-');
}

console.log(formatDate('Sun May 11,2014'));

How to convert a string in yyyy-mm-dd format to a Javascript Date Object without considering the date as UTC

Simply append 'T00:00:00' to your date string.

const dateString = '2020-04-08'const timeString = 'T00:00:00'
const date = new Date(dateString + timeString);console.info(date.toString())

How to convert YYYY-MM-DD format to Date object

You can do new Date('2022-02-2017').

convert date format to 'YYYYMMDD'

A good function for doing that which I found and used it always.

Date.prototype.yyyymmdd = function() {
var mm = this.getMonth() + 1; // getMonth() is zero-based
var dd = this.getDate();
return [this.getFullYear(),
(mm>9 ? '' : '0') + mm,
(dd>9 ? '' : '0') + dd
].join('');
};
var date = new Date();
date.yyyymmdd();

Take a string date YYYY-MM-DD and convert it into a Date object that keeps the date the same within that users timezone?

If you are trying to convert a Date with format of YYYY-MM-DD where do you get the user's timezone from? An ISO string usually contains +0000 at the end of the string where the last parts is the timezone. Anyway, I am guessing you actually have a ISO string.

Problem is that when you parse Date objs it wants to convert the time relative to your local time. When you use UTC time it removes users timezone.

So what we could do, is take the users initial datetime.

let s = "2022-03-21T11:22:33+0000";
let d = new Date(Date.parse(s));

// Methods on Date Object will convert from UTC to users timezone
// Set minutes to current minutes (UTC) + User local time UTC offset

d.setMinutes(d.getMinutes() + d.getTimezoneOffset())

// Now we can use methods on the date obj without the timezone conversion

// my local time is: "2022-03-21T07:22:33.000Z"
console.log(d) // "2022-03-21T09:22:33.000Z"

How do I get the next day's date in JS in YYYY-MM-DD format?

Strings in the format YYYY-MM-DD are parsed as UTC so in this case, do everything in UTC (see Why does Date.parse give incorrect results? and How can I add 1 day to current date?).

The toISOString method will return the string in the required format, just trim the redundant time part, e.g.

let s = '2018-04-06';let d = new Date(s);d.setUTCDate(d.getUTCDate() + 1);console.log(d.toISOString().substr(0,10));

How do I get a date in YYYY-MM-DD format?

Just use the built-in .toISOString() method like so: toISOString().split('T')[0]. Simple, clean and all in a single line.

var date = (new Date()).toISOString().split('T')[0];document.getElementById('date').innerHTML = date;
<div id="date"></div>


Related Topics



Leave a reply



Submit