---
title: "Avrunda till närmaste femte minut"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/45343-avrunda-till-närmaste-femte-minut"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Erik Juhlin"
published: "2002-06-06T09:32:56.000Z"
updated: "2002-06-06T16:45:16.000Z"
replies: 18
views: 491
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/45343-avrunda-till-närmaste-femte-minut"
---

# Avrunda till närmaste femte minut

## #1 — Erik Juhlin, 2002-06-06T09:32Z

Jag vill avrunda en tid i formatet 11.25 till närmaste femte minut.
11\.58 ska alltså bli 12.00 och 11.57 ska bli 11.55.

Någon som kan hjälpa mig? :)

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

## #2 — Herman, 2002-06-06T10:09Z

kanske ngt sånt här?

```
klockslag= "20:02"
minuter = right(klockslag,2)
antalfemmor = int((minuter+2)/5)

If antalfemmor =12 Then
nytt_klockslag = Time(hour(klockslag)+1 & ":00")
Else
nytt_klockslag = Time(hour(klockslag) & ":" & antalfemmor*5)
End If
```

 red: la till villkor om det blir ny timme...

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

## #3 — icaaq, 2002-06-06T10:17Z

```
[red]
Function GetRightTime(byVal dteTime)
	If IsDate(dteTime) Then
		Select Case Right(Minute(dteTime),1)
			Case "1" , "6"
			GetRightTime = FormatDateTime(DateAdd("n", -1, dteTime),4)
			Case "2" , "7"
			GetRightTime = FormatDateTime(DateAdd("n", -2, dteTime),4)
			Case "3" , "8"
			GetRightTime = FormatDateTime(DateAdd("n", 2, dteTime),4)
			Case "4" , "9"
			GetRightTime = FormatDateTime(DateAdd("n", 1, dteTime),4)
			Case Else
			GetRightTime = FormatDateTime(dtetime,4)
		End Select
	Else
		Response.Write "Det måste vara ett giltigt datum"	
	End If
End Function	
	[/red]
```

......JAg vet inte hur den funkar vid timmar men jag tror den ska funka..........

Red. Jag la till så du fick rätt format på tiden :)

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

## #4 — Erik Juhlin, 2002-06-06T10:56Z

Massa case satser? :o

Nä, får väl fixa till en egen funktion då...

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

## #5 — icaaq, 2002-06-06T10:59Z

> *Ursprungligen av Erik Juhlin*  **Massa case satser? :o
> 
> Nä, får väl fixa till en egen funktion då...**

Uhh du har ju en funktion som är klockren där ;)

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

## #6 — Erik Juhlin, 2002-06-06T11:37Z

En lite mer generell funktion utan massa case satser...

```
Function RoundNearestMin(ByVal dDate, ByVal lRoundTo)
	dDate = CDate(dDate)
	lRoundTo = CLng(lRoundTo)
	
	If lRoundTo <= 60 Then
		
		Dim lHour, lMinute
		lHour = Hour(dDate)
		lMinute = Minute(dDate)
		
		lMinute = CLng(lMinute / lRoundTo) * lRoundTo
		
		lHour = (lHour + Fix(lMinute / 60)) Mod 24
		lMinute = lMinute Mod 60
		
		RoundNearestMin = CDate(Year(dDate) & "-" & Month(dDate) & " " & Day(dDate) & " " & lHour & ":" & lMinute)
		
	End If
	
End Function

Response.Write RoundNearestMin(CDate("2001-06-06 23:59:23"), 5)
```

Redigering: Förfinat ett antal gånger. :)

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

## #7 — icaaq, 2002-06-06T11:40Z

Jag tycker min var finare.... ;)

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

## #8 — Erik Juhlin, 2002-06-06T11:46Z

Du hårdkodar ju in vilket tal den ska adderas/divideras med.
Sen så funkar det inte om man t.ex. vill ha närmaste nionde minut med din. Vill man att det ska funka med det så blir det en jäkla massa hårdkodningar.

Min är mer generell och bättre skriven, så är det. :p

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

## #9 — LAMP, 2002-06-06T11:54Z

> *Ursprungligen av icaaq*  **Jag tycker min var finare.... ;)**

Jag också ;)

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

## #10 — Erik Juhlin, 2002-06-06T12:05Z

Men kom igen, ni är väl ironiska? :q :o

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

## #11 — Herman, 2002-06-06T12:29Z

```
    klockslag = Time
    minuter = Minute(klockslag)
    antalfemmor = Int(((minuter) + 2) / 5)
    
    If antalfemmor = 12 Then
        nytt_klockslag = Time(Hour(klockslag) + 1 & ":00")
    Else
        nytt_klockslag = Hour(klockslag) & ":" & Right("0" & CInt(antalfemmor * 5), 2)
    End If
```

 red: la till villkor om det blir ny timme + rättade :)

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

## #12 — Herman, 2002-06-06T12:31Z

hehe är det inte lite overkill att kunna avrunda till närmaste 9-minut?  Snyggt men är det användbart?

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

## #13 — Erik Juhlin, 2002-06-06T12:34Z

Den funktionen fungerar ju inte särskilt bra. Kan t.ex. Bli 24:00. Finns ej...

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

## #14 — Herman, 2002-06-06T12:39Z

Det är ju inte ens en funktion - mest ett uppkas. men ok då det är ju bara lägga till. 

```
    klockslag = CDate("23:59:12")
    minuter = Minute(klockslag)
    timmar = Hour(klockslag)
    antalfemmor = Int(((minuter) + 2) / 5)
    
    If antalfemmor = 12 Then
        nytt_klockslag = Hour(timmar + 1) & ":00"
    Else
        nytt_klockslag = timmar & ":" & Right("0" & CInt(antalfemmor * 5), 2)
    End If
```

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

## #15 — icaaq, 2002-06-06T12:51Z

Re: Avrunda till närmaste femte minut

> *Ursprungligen av Erik Juhlin*  **Jag vill avrunda en tid i formatet 11.25 till närmaste femte minut.
> 11\.58 ska alltså bli 12.00 och 11.57 ska bli 11.55.
> 
> Någon som kan hjälpa mig? :)**

Och det var det du fick ;) .....

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

## #16 — Herman, 2002-06-06T13:32Z

En lite mer kompakt version

```
Function minutintervall(ByVal datum, ByVal intervall)
    minutintervall = TimeValue(DateAdd("n", (Int((Minute(datum) + Int(intervall / 2)) / intervall) * intervall - Minute(datum)), Hour(datum) & ":" & Minute(datum)))
End Function
```

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

## #17 — Erik Juhlin, 2002-06-06T14:21Z

Men jag fick ju en ful äckelfunktion ju... :x

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

## #18 — icaaq, 2002-06-06T15:12Z

JAg vet inte om jag gillar atityden på denna tråd.........

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

## #19 — Erik Juhlin, 2002-06-06T16:45Z

Sorry, var väl lite ironisk... :)
När jag frågade här så letade jag efter ett smidigt sätt att avrunda tal. Men det finns visst inte. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/45343-avrunda-till-närmaste-femte-minut
