---
title: "Formatera datum!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/124907-formatera-datum"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jimpa"
published: "2005-03-22T18:33:23.000Z"
updated: "2005-03-29T14:07:37.000Z"
replies: 7
views: 398
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/asp/124907-formatera-datum"
---

# Formatera datum!

## #1 — jimpa, 2005-03-22T18:33Z

Hej,

Om jag har ett datum format som ser ut så här:
19:32:10 Mar 22, 2005 PST

Hur kan man formatera det till:
3/22/2005 7:32:10 PM

Mvh
Jimpa

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

## #2 — jimpa, 2005-03-22T20:34Z

Jag har löst det så här =)
Känns ju som att det borde finnas något smidigare sätt?

```
Dim strDate
	strDate = "19:32:10 Mar 22, 2005 PST"       '19:32:10 Mar 22, 2005 PST
	strDate = Replace(strDate, ",", "")         '19:32:10 Mar 22 2005 PST
	strDate = Replace(strDate, ":", "|")        '19|32|10 Mar 22 2005 PST
	strDate = Replace(strDate, " ", "|")        '19|32|10|Mar|22|2005|PST
Dim myArr
	myArr = Split(strDate, "|")
Dim myHour
	myHour = myArr(0)
Dim AMorPM
	AMorPM = ""
	 If myHour = "00" Then	
  	  AMorPM = "AM"
	 End If
	myHour = Replace(myHour, "00", "12")
	myHour = Replace(myHour, "01", "1")
	myHour = Replace(myHour, "02", "2")
	myHour = Replace(myHour, "03", "3")
	myHour = Replace(myHour, "04", "4")
	myHour = Replace(myHour, "05", "5")
	myHour = Replace(myHour, "06", "6")
	myHour = Replace(myHour, "07", "7")
	myHour = Replace(myHour, "08", "8")
	myHour = Replace(myHour, "09", "9")
IF AMorPM = "" THEN
 If Len(myHour) = Clng(2) Then
  AMorPM = "PM"
 Else
  AMorPM = "AM"
 End If
END IF 
	'myHour = Replace(myHour, "10", "10")
	'myHour = Replace(myHour, "11", "11")
	'myHour = Replace(myHour, "12", "12")
	myHour = Replace(myHour, "13", "1")
	myHour = Replace(myHour, "14", "2")
	myHour = Replace(myHour, "15", "3")
	myHour = Replace(myHour, "16", "4")
	myHour = Replace(myHour, "17", "5")
	myHour = Replace(myHour, "18", "6")
	myHour = Replace(myHour, "19", "7")
	myHour = Replace(myHour, "20", "8")
	myHour = Replace(myHour, "21", "9")
	myHour = Replace(myHour, "22", "10")
	myHour = Replace(myHour, "23", "11")
	
Dim myMinute
	myMinute = myArr(1)
Dim mySecond
	mySecond = myArr(2)
Dim myMonth
	myMonth = myArr(3)
	myMonth = Replace(myMonth, "Jan", "1")
	myMonth = Replace(myMonth, "Feb", "2")
	myMonth = Replace(myMonth, "Mar", "3")
	myMonth = Replace(myMonth, "Apr", "4")
	myMonth = Replace(myMonth, "May", "5")
	myMonth = Replace(myMonth, "Jun", "6")
	myMonth = Replace(myMonth, "Jul", "7")
	myMonth = Replace(myMonth, "Aug", "8")
	myMonth = Replace(myMonth, "Sep", "9")
	myMonth = Replace(myMonth, "Oct", "10")
	myMonth = Replace(myMonth, "Nov", "11")
	myMonth = Replace(myMonth, "Dec", "12")
Dim myDay
	myDay = myArr(4)
	myDay = Replace(myDay, "01", "1")
	myDay = Replace(myDay, "02", "2")
	myDay = Replace(myDay, "03", "3")
	myDay = Replace(myDay, "04", "4")
	myDay = Replace(myDay, "05", "5")
	myDay = Replace(myDay, "06", "6")
	myDay = Replace(myDay, "07", "7")
	myDay = Replace(myDay, "08", "8")
	myDay = Replace(myDay, "09", "9")
Dim myYear
	myYear = myArr(5)
Dim myFormatDateTime
	myFormatDateTime = myMonth & "/" & myDay & "/" & myYear & " " & myHour & ":" & myMinute & ":" & mySecond & " " & AMorPM
	myFormatDateTime = Cdate(myFormatDateTime)

		
		Response.Write myFormatDateTime
```

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

## #3 — J.N., 2005-03-23T10:25Z

HEJ!

Jag förslår att du tittar på FormatDateTime-funktionen.
<http://www.devguru.com/Technologies/vbscript/quickref/formatdatetime.html>

,2 och ,3 borde göra exakt det du vill.

Ditt sätt fungerar säkert alldeles utmärkt, men vad händer om servern byts eller du flyttar webbplatsen?
Eftersom du inte har/visar att du sätter datum i ett speciellt format, (LCID) kan det bli helt fel då.

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

## #4 — Erik Juhlin, 2005-03-23T12:42Z

Koden du skrivit gör ju att kl. 11 är PM. Stämmer inte riktigt...

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

## #5 — Erik Juhlin, 2005-03-23T12:59Z

Kanske inte helt perfekt, men snyggare...

```
Function FixDate(sDate)
	Dim dDate, lHour As Long, sPeriod As String
	
	dDate = CDate(Mid(sDate, 1, Len(sDate) - 4))
	
	lHour = Hour(dDate)
	If lHour >= 12 Then
		sPeriod = "PM"
		lHour = lHour - 12
	Else
		sPeriod = "AM"
	End If
	If lHour = 0 Then
		lHour = 12
	End If
	
	FixDate = Month(dDate) & "/" & Day(dDate) & "/" & Year(dDate) _
		& " " & lHour & ":" & Right("0" & Minute(dDate), 2) & ":" & Right("0" & Second(dDate), 2) _
		& " " & sPeriod
End Function
```

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

## #6 — jimpa, 2005-03-24T13:18Z

Tack Erik, din kod såg ju betydligt enklare och bättre ut!

Men nu har jag en annan fråga om datum!
Om jag skirver ut ett datum från servern med Now() så blir det ju till ändra serverns insällda datum-format eller till ett format satt av session.LCID. 
Om datum är satt av Session.LCID så vill jag minnas att det kan bli problem när man vill spara det i en databas, har jag fel?
Hur som helst hur gör man för att vara helt säker på att ett datum alltid är i rätt format för att kunna sparas i en databas oavsett om serven är inställd till engelsk, svensk eller amrikansk etc...

?

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

## #7 — jimpa, 2005-03-24T17:39Z

Om jag ställer frågan så här istället =)

Detta är (som jag förstår) en Amerikansk datum standard: 3/22/2005 7:32:10 PM

Kan man räkna med att det Alltid går att spara ett datum med det formatet i en MsAccess och MsSQL databas?

Ja eller Nej

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

## #8 — J.N., 2005-03-29T14:07Z

HEJ!

Jag brukar göra så att jag formaterar det till svenska, eftersom norska datum innehåller punkter, och blir fel i en svensk Accessfil.

Jag skulle nog vilja påstå att använder du snedstreck i ditt format borde det inte krångla.
För säkerhets skull, kan du ju sätta engelskt format på sidan, OM någon skulle få för sig att flytta webbplatsen till en icke-engelsk server.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/124907-formatera-datum
