---
title: "även setlocal() i en variabel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/132370-även-setlocal-i-en-variabel"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "donkey"
published: "2005-08-06T21:07:47.000Z"
updated: "2005-08-06T22:17:19.000Z"
replies: 7
views: 293
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/php/132370-även-setlocal-i-en-variabel"
---

# även setlocal() i en variabel

## #1 — donkey, 2005-08-06T21:07Z

Håller på med min första gästbok (med mysql) och försöker nu få månaderna på svenska. Nu använder jag 
$month = strftime("%B ");
för att få månaden i en variabel som jag sedan skickar till databasen. Men problemet är att månaden då blir på engelska.
Skriver man ut månaden direkt på sidan går det ju att göra

```php
setlocale(LC_ALL, 'sve');
echo strftime("%B ");
```

 
men om jag vill ha med setlocal(LC_ALL, 'sve'); till databasen i  variabeln, hur gör jag då? 
Eller finns det något annat sätt som översätter månaden innan jag skickar den till databasen?

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

## #2 — Melea, 2005-08-06T21:31Z

Har aldrig riktigt fått koll på setlocale() så jag använder den här funktionen

```php
function DateFix($date) {

    $days = array(0=>"Söndag", 1=>"Måndag", 2=>"Tisdag", 3=>"Onsdag", 4=>"Torsdag", 5=>"Fredag", 6=>"Lördag");
    $months = array(1=>"Januari", 2=>"Februari", 3=>"Mars", 4=>"April", 5=>"Maj", 6=>"Juni", 7=>"Juli", 
	8=>"Augusti", 9=>"September", 10=>"Oktober",  1=>"November", 12=>"December");

	$mday = date("j", strtotime($date));
    $wday = date("w", strtotime($date));
    $month = date("n", strtotime($date));

	if($mday == 1 || $mday == 2 || $mday == 21 || $mday == 22 || $mday == 31 ) {
		$new_date = $days[$wday].' '.date("j", strtotime($date)).':a '.$months[$month].' '.date("Y", strtotime($date));
	} else {
		$new_date = $days[$wday].', '.date("j", strtotime($date)).':e '.$months[$month].' '.date("Y", strtotime($date));
	}

    return $new_date;

}
```

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

## #3 — donkey, 2005-08-06T21:41Z

kanske borde ha skrivit det, men jag är nybörjare :r vad ska jag skriva för att få ut månaden på sidan sen?
har testat
echo $date; och echo $new_date; men får bara Undefined variable

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

## #4 — Melea, 2005-08-06T21:45Z

:)

Förslagsvis lägger du funktionen i ett eget dokument som du kallar "function.php". Därefter inkluderar du den överst på den sidan där du vill använda funktionen.

```
include('function.php');
```

Sen där du ska skriva ut skriver du endast

```php
echo DateFix('text med ett datum, ex. 2004-06-01 13:05:58, detta borde funka... ');
```

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

## #5 — donkey, 2005-08-06T22:00Z

funkade bra, tack så mycket!!

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

## #6 — Melea, 2005-08-06T22:00Z

Gott, vargod!

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

## #7 — Melea, 2005-08-06T22:04Z

Har smygtittat lite på din sida, och ser att du har lite problem.
Om det är så, lägg bara funktionen på enklast möjliga vis ovanför loopen som skriver ut alla gästboksinlägg. Sedan skriver du

```php
DateFix($rows['Datum'])
```

(byt ut $rows och datum mot vad nu din kolumn heter.)

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

## #8 — donkey, 2005-08-06T22:17Z

tack för meddelandet i gästboken! 
hade lite problem just när du var inne, men nu ska det fungera som det ska... återigen tack för hjälpen!!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/132370-även-setlocal-i-en-variabel
