---
title: "INTERVAL vs UNIX_TIMESTAMP?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/176452-interval-vs-unix-timestamp"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Guldstrand"
published: "2009-01-21T17:11:19.000Z"
updated: "2009-01-21T21:43:06.000Z"
replies: 6
views: 489
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/databaser-sql/176452-interval-vs-unix-timestamp"
---

# INTERVAL vs UNIX_TIMESTAMP?

## #1 — Guldstrand, 2009-01-21T17:11Z

Vilket sätt är "bäst" att använda?

```php
// Alt. 1
$sql = mysql_query('SELECT COUNT(id) AS num_mem FROM users WHERE ADDDATE(added, INTERVAL 1 DAY) > NOW()');
$medlemmar = mysql_result($sql,0);

//Alt. 2
$medlemmar = number_format(get_row_count("users", "WHERE UNIX_TIMESTAMP(" . get_dt_num() . ") - UNIX_TIMESTAMP(added) < 86400"));
```

 

```php
function get_dt_num()
{
  return gmdate("YmdHis");
}
```

Båda alternativen visar "fel" antal.   :o

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

## #2 — Peter S, 2009-01-21T17:52Z

1) Vilket resultat får du och vilket resultat förväntade du dig?
2) Hur vet du att du får fel antal?

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

## #3 — Guldstrand, 2009-01-21T18:08Z

> **Peter S skrev:**
>
> 1) Vilket resultat får du och vilket resultat förväntade du dig?
> 2) Hur vet du att du får fel antal?

Jag får fler resultat än vad som "stämmer".
Verkar som att jag även får resultat för igår.   :x

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

## #4 — Guldstrand, 2009-01-21T19:14Z

```php
// Alt. 1
$sql = mysql_query('SELECT COUNT(id) AS num_mem FROM users WHERE ADDDATE(added, INTERVAL 1 DAY) > NOW()');
$medlemmar = mysql_result($sql,0);
 
//Alt. 2
$medlemmar = number_format(get_row_count("users", "WHERE UNIX_TIMESTAMP(" . get_dt_num() . ") - UNIX_TIMESTAMP(added) < 86400"));
```

..ger precis samma resultat, (som är fel).

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

## #5 — Peter S, 2009-01-21T19:59Z

Testa att se vad du får med "SELECT NOW(), ADDDATE(added, INTERVAL 1 DAY) FROM users ORDER BY id LIMIT 10". Då ser du om ADDATE() gör vad du tror att den gör.

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

## #6 — Guldstrand, 2009-01-21T20:18Z

Valde att använda följande kod istället.

```php
$medlemmar = number_format(get_row_count("users", "WHERE UNIX_TIMESTAMP(" . get_dt_num() . ") - UNIX_TIMESTAMP(added) < 86400"));
```

Verkar fungera nu helt plötsligt. (Gjorde inte det innan.)   :o

**EDIT:** Om jag testar liknande för hur många inlägg som har postats IDAG, så får jag 20 istället för 14 (som är rätt).

```php
$inlagg_dag = number_format(get_row_count("posts", "WHERE UNIX_TIMESTAMP(" . get_dt_num() . ") - UNIX_TIMESTAMP(added) < 86400"));
```

Ger f\*n upp snart.   :(

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

## #7 — Guldstrand, 2009-01-21T21:43Z

Vill alltså endast visa hur många som har reggat sig under dagen IDAG (2009-01-21) fram till nuvarande tid (22:41).

**EDIT:** Har löst det.

```php
$medlemmar = number_format(get_row_count("users", "WHERE added >= DATE(NOW())"))
```

;

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/176452-interval-vs-unix-timestamp
