---
title: "Plus en dag till datum i formatet: yyyy-MM-dd HH:mm:ss"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/161154-plus-en-dag-till-datum-i-formatet-yyyy-mm-dd-hh-mm-ss"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "kristoffer"
published: "2007-06-05T22:53:16.000Z"
updated: "2007-06-17T19:27:27.000Z"
replies: 5
views: 667
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/161154-plus-en-dag-till-datum-i-formatet-yyyy-mm-dd-hh-mm-ss"
---

# Plus en dag till datum i formatet: yyyy-MM-dd HH:mm:ss

## #1 — kristoffer, 2007-06-05T22:53Z

Jag vill lägga till en dag till ett datum i formatet: yyyy-MM-dd HH:mm:ss

Exempel:

```
input:  2007-05-12 23:59:59
output: 2007-05-13 23:59:59
```

Hur göra?

Permalänk: https://www.webforum.nu/p/161154

## #2 — zcorpan, 2007-06-06T00:42Z

Tja, vet inte om det finns snyggare sätt, men det här verkar funka: 

```
function addADay(input) {
  var re = /^(....)\-(..)\-(..)(.*)$/;
  var arr = re.exec(input);
  var year = arr[1];
  var month = arr[2];
  var date = arr[3];
  var d = new Date(year, month, date);
  d -= -86400000;
  d = new Date(d);
  year = d.getFullYear();
  month = d.getMonth();
  if (month <= 9)
    month = "0" + month;
  date = d.getDate();
  var output = year + "-" + month + "-" + date + arr[4];
  return output;
}
```

Permalänk: https://www.webforum.nu/p/1987804

## #3 — kristoffer, 2007-06-16T10:25Z

Hej, ja, det funkade nästan. Fast funktionen tar inte hänsyn till vilka datum som är giltiga, den skriver till exempel ut 2007-06-31. Vet du varför?

Permalänk: https://www.webforum.nu/p/1993621

## #4 — frillemike, 2007-06-16T11:26Z

är ingen fena på javascript men borde man inte kunna lösa det enkelt genom att:

1\. Konvertera till tidsenheten antal millisekunder från 1970(eller när det nu är, det man brukar få som output vid tidshantering)
2\. adda x antal millisekunder motsvarande 1 dag
3\. konvertera tillbaka till lokal tid.

kanske är bökigt men kändes som en möjlig lösning :) överlåter själva kodningen till de som faktiskt kan javascript :)

edit: oops, det var nog något i den stilen du gjorde.. my bad

Permalänk: https://www.webforum.nu/p/1993640

## #5 — colione, 2007-06-17T17:28Z

2007-06-31 är ett giltigt datum. ;) Javascript börjar räkna månaderna på noll nämligen. För att få det att vara ett giltigt datum för människan man måste man ta bort ett från månaden när den matas in och sedan addera ett när månaden matas ut.

zcorpans funktion lite omskriven:

```
<script>
function addADay(input) {
  var re = /^(....)\-(..)\-(..)(.*)$/;
  re.exec(input);
  var year = RegExp.$1;
  var month = RegExp.$2;
  var date = RegExp.$3;
  var time = RegExp.$4
  var d = new Date(new Date(year, month-1, date).getTime()+(24*60*60*1000));
  return d.getFullYear()+"-"+(((d.getMonth()+1)<=9)?"0"+(d.getMonth()+1):d.getMonth()+1)+"-"+((d.getDate()<=9)?"0"+d.getDate():d.getDate())+" "+time
}

alert(addADay("2007-12-31 23:59:59"))
</script>
```

Permalänk: https://www.webforum.nu/p/1993924

## #6 — zcorpan, 2007-06-17T19:27Z

> **colione skrev:**
>
> Javascript börjar räkna månaderna på noll nämligen.

Oops, glömde bort den detaljen...   :r :)

Permalänk: https://www.webforum.nu/p/1993962

---

Tråden på webben: https://www.webforum.nu/amne/javascript/161154-plus-en-dag-till-datum-i-formatet-yyyy-mm-dd-hh-mm-ss
