0

I created an array with a for-loop which can show me all days in a certain timespan every week or every two weeks, it worked, but now i would like to convert these timestamps to local german time (i used .toLocaleDateString("de-DE") dd.mm.yyyy). I am not able to solve the problem above and seek for your help. I tried it, as mentioned, with .toLocaleDateString("de-DE") but it was no success.

My Code for both days:

function datenSpuckerErsterTag(){

  let bTagEins = Date.parse(document.getElementById("firstDatum").value);

  let bTagzwei = Date.parse(document.getElementById("secondDatum").value);

  let startDatum1 = Date.parse(document.getElementById("startDatum").value );

  let endDatum1 = Date.parse(document.getElementById("endDatum").value);



  const siebenTage = 86400 * 1000*7;
  const vierzehnTage = 86400 * 1000*14 ;


  if (valueGetter1() == 7) {
    let datenListe = [];

    for (let i = bTagEins; i <= endDatum1; i = i + siebenTage) {

      datenListe.push(i);
      console.log(datenListe);
      document.getElementById("arrOnePrint").innerHTML = datenListe;
    }
  } else if (valueGetter1() == 14){

    let datenListe = [];
    for(let i = bTagEins;i <= endDatum1;i=i + vierzehnTage) {

      datenListe.push (i);
      console.log(datenListe);
      document.getElementById("arrOnePrint").innerHTML = datenListe;
    }
  } else {}
}

function datenSpuckerZweiterTag(){

  let bTagEins = Date.parse(document.getElementById("firstDatum").value);

  let bTagZwei = Date.parse(document.getElementById("secondDatum").value);

  let startDatum1 = Date.parse(document.getElementById("startDatum").value );

  let endDatum1 = Date.parse(document.getElementById("endDatum").value);



  const siebenTage = 86400 * 1000*7;
  const vierzehnTage = 86400 * 1000*14 ;


  if (valueGetter2() == 7) {
    let datenListe = [];

    for (let i = bTagZwei; i <= endDatum1; i = i + siebenTage) {

      datenListe.push(i);
      console.log(datenListe);
      document.getElementById("arrTwoPrint").innerHTML = datenListe;
    }
  } else if (valueGetter2() == 14){

    let datenListe = [];
    for(let i = bTagZwei;i <= endDatum1;i=i + vierzehnTage) {

      datenListe.push (i);
      console.log(datenListe);
      document.getElementById("arrTwoPrint").innerHTML = datenListe;
    }
  } else {}
}

Thank you for your help! I really appreciate any advice! <3

1 Answer 1

1

Hope this helps:

const date = new Date();

// ✅ Get a string according to a provided Time zone
console.log(
  date.toLocaleString('en-US', {
    timeZone: 'America/Los_Angeles',
  }),
); // 👉️ "9/14/2022, 1:24:19 AM"

console.log(
  date.toLocaleString('de-DE', {
    timeZone: 'Europe/Berlin',
  }),
); // 👉️ "14.9.2022, 10:24:19"

// ✅ Or get a Date object with the specified Time zone
function changeTimeZone(date, timeZone) {
  if (typeof date === 'string') {
    return new Date(
      new Date(date).toLocaleString('en-US', {
        timeZone,
      }),
    );
  }

  return new Date(
    date.toLocaleString('en-US', {
      timeZone,
    }),
  );
}

const laDate = changeTimeZone(new Date(), 'America/Los_Angeles');
console.log(laDate); // 👉️ "Wed Sep 14 2022 01:24:19"

const berlinDate = changeTimeZone(new Date(), 'Europe/Berlin');
console.log(berlinDate); // 👉️ "Wed Sep 14 2022 10:24:19"

Sign up to request clarification or add additional context in comments.

1 Comment

I've solved the problem myself - thank you anyways for the help!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.