Kom ihåg mig?
Home Menu

Menu


Lista över röda dagar

 
Ämnesverktyg Visningsalternativ
Oläst 2008-07-16, 11:26 #1
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Finns det någon här som har en lista över alla röda dagar för i år och de närmsta åren framåt?

Jag behöver en sådan lista i en applikation jag håller på att jobba på och tänkte att jag kan väl inte vara den första som stöter på det problemet.
Jonathan P är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-16, 11:36 #2
HenSod HenSod är inte uppkopplad
Flitig postare
 
Reg.datum: May 2005
Inlägg: 484
HenSod HenSod är inte uppkopplad
Flitig postare
 
Reg.datum: May 2005
Inlägg: 484
Ta en kalender eller dagbok vilken som helst så ser du vilka dagar som är röda dagar. Sedan är det bara att införa dem i din applikation.
HenSod är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-16, 11:50 #3
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Citat:
Originally posted by HenSod@Jul 16 2008, 11:36
Ta en kalender eller dagbok vilken som helst så ser du vilka dagar som är röda dagar. Sedan är det bara att införa dem i din applikation.
Finns det någon bra kalender för flera år framöver?
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-16, 11:52 #4
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Citat:
Originally posted by HenSod@Jul 16 2008, 11:36
Ta en kalender eller dagbok vilken som helst så ser du vilka dagar som är röda dagar. Sedan är det bara att införa dem i din applikation.
Jonathan P är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-16, 11:59 #5
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
http://www.riksdagen.se/webbnav/index.aspx...11&bet=1989:253
digiArt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-16, 12:10 #6
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
Reg.datum: Dec 2003
Inlägg: 1 519
Citat:
Originally posted by digiArt@Jul 16 2008, 10:59
http://www.riksdagen.se/webbnav/index.aspx...11&bet=1989:253
"påskdagen: söndagen närmast efter den fullmåne som infaller på eller närmast efter den 21 mars"

Hur skriver man en SQL-sats som får fram det?
kullervo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-16, 12:16 #7
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Citat:
Originally posted by kullervo@Jul 16 2008, 12:10
"påskdagen: söndagen närmast efter den fullmåne som infaller på eller närmast efter den 21 mars"

Hur skriver man en SQL-sats som får fram det?
Det är nog inte så optimalt att försöka få fram i en SQL-sats, men såhär ser det ut i PHP:

Kod:
function calculate_easter($y) {
  // In the text below, 'intval($var1/$var2)' represents an integer division neglecting
  // the remainder, while % is division keeping only the remainder. So 30/7=4, and 30%7=2
  //
  // This algorithm is from Practical Astronomy With Your Calculator, 2nd Edition by Peter
  // Duffett-Smith. It was originally from Butcher's Ecclesiastical Calendar, published in
  // 1876. This algorithm has also been published in the 1922 book General Astronomy by
  // Spencer Jones; in The Journal of the British Astronomical Association (Vol.88, page
  // 91, December 1977); and in Astronomical Algorithms (1991) by Jean Meeus. 

  $a = $y%19;
  $b = intval($y/100);
  $c = $y%100;
  $d = intval($b/4);
  $e = $b%4;
  $f = intval(($b+8)/25);
  $g = intval(($b-$f+1)/3);
  $h = (19*$a+$b-$d-$g+15)%30;
  $i = intval($c/4);
  $k = $c%4;
  $l = (32+2*$e+2*$i-$h-$k)%7;
  $m = intval(($a+11*$h+22*$l)/451);
  $p = ($h+$l-7*$m+114)%31;
  $EasterMonth = intval(($h+$l-7*$m+114)/31);  // [3 = March, 4 = April]
  $EasterDay = $p+1;  // (day in Easter Month)
  
  return format_date($y, $EasterMonth, $EasterDay);
}
Eller så använder man bara den inbyggda funktionen easter_date
http://se2.php.net/easter_date
Jonathan P är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-16, 12:39 #8
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
Citat:
Ursprungligen postat av Jonathan P
Citat:
Ursprungligen postat av HenSod
Ta en kalender eller dagbok vilken som helst så ser du vilka dagar som är röda dagar. Sedan är det bara att införa dem i din applikation.
Haha, den bilden var helt underbar
eliasson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-16, 13:29 #9
SkyNet SkyNet är inte uppkopplad
Validating
 
Reg.datum: Apr 2004
Inlägg: 99
SkyNet SkyNet är inte uppkopplad
Validating
 
Reg.datum: Apr 2004
Inlägg: 99
Citat:
Originally posted by Jonathan P@Jul 16 2008, 10:26
Finns det någon här som har en lista över alla röda dagar för i år och de närmsta åren framåt?
När jag undrar om allmänna helgdagar så kollar jag på http://victor.se/bjorn/holidays.php, funkar bra om man vill "förprogrammera" ett antal år i förväg.
SkyNet är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-07-16, 14:38 #10
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Jonathan P Jonathan P är inte uppkopplad
Medlem
 
Reg.datum: Feb 2008
Inlägg: 141
Jag skrev en PHP-funktion som räknar ut helgdagarna åt mig automatiskt, så jag slipper mata in varje år för sig...

Kod:
	/**
 * Räknar ut helgdagar för ett givet år.
 * Notera att alla dessa dagar inte är "röda dagar" enligt definitionen, men att många är lediga från arbetet dessa dagar.
 *
 * @param $år int
 * @return array
 * @author Jonathan Persson ([email protected])
 */
	function rödaDagar($år) {
 $dygn = 60*60*24; // antal sekunder på ett dygn
 
 $påskdagen = easter_date($år);
 
 // räkna ut när långfredagen är.
 $i = 0;
 while(!isset($långfredagen)) {
 	$i++;
 	$dag = $påskdagen-($i*$dygn);
 	
 	if(date("N", $dag) == 5)
  $långfredagen = $dag;
 }
 
 // räkna ut när midsommardagen är.
 for($i=$år."0620"; $i<$år."0626"; $i++) {
 	if(date("N", strtotime($i)) == 6)
  $midsommardagen = strtotime($i);
 }
 
 // räkna ut när alla helgons dag är.
 for($i=$år."1101"; $i<$år."1106"; $i++) {
 	if(date("N", strtotime($i)) == 6)
  $alla_helgons_dag = strtotime($i);
 }
 
 // om ingen av dagarna mellan 1/11 och 6/11 är en lördag så är alla helgons dag 10/31.
 if(!isset($alla_helgons_dag))
 	$alla_helgons_dag = strtotime("$år-10-31");
 
 return array(
 	"Nyårsdagen" => "$år-01-01",
 	"Trettondedag jul" => "$år-01-06",
 	"Skärtorsdagen " => date("Y-m-d", $långfredagen-(1*$dygn)),
 	"Långfredag" => date("Y-m-d", $långfredagen),
 	"Påskdagen" => date("Y-m-d", $påskdagen),
 	"Annandag påsk" => date("Y-m-d", $påskdagen+(1*$dygn)),
 	"Valborgsmässoafton " => "$år-04-30",
 	"Första maj" => "$år-05-01",
 	"Kristi himmelsfärdsdag" => date("Y-m-d", $påskdagen+(39*$dygn)),
 	"Pingstdagen" => date("Y-m-d", $påskdagen+(49*$dygn)),
 	"Sveriges nationaldag" => "$år-06-06",
 	"Midsommardagen" => date("Y-m-d", $midsommardagen),
 	"Alla helgons dag" => date("Y-m-d", $alla_helgons_dag),
 	"Julafton" => "$år-12-24",
 	"Juldagen" => "$år-12-25",
 	"Annandag jul" => "$år-12-26",
 	"Nyårsafton" => "$år-12-31"
 );
	}
Jonathan P är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 19:12.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017