Just nu i M3-nätverket
Jump to content

C: Datum och tider


ChristerThörn

Recommended Posts

ChristerThörn

Hejsan.

Är det någon som känner till några bra bibliotek eller portabla funktioner för att hantera tid/datum/kalender? Jag är ute efter lite mer än antal tick sedan Epoch... Exempelvis, vilken veckodag är den 6 mars 2005, vilket datum har tisdag vecka 7 2003 o.s.v.

Det synes mig att någon borde gjort funktioner för sånt här tidigare...

 

/Christer

 

Link to comment
Share on other sites

Kommer inte riktigt ihåg men borde inte localtime() eller strftime() i time.h ganska enkelt kunna användas till något sådant?

 

Link to comment
Share on other sites

-Patrik Johansson-

Hej

Så här hade koden för att beräkna veckodagen sett ut i Java.

public class weekday{

   private static final double JULILAN_CONSTANT = 1720994.5;

   /**
      @param year the year, four digits.
      @param month, the month, from 1 to 12.
      @param day, daynumber in month, from 1 to 31.
      @return the weekday.
   */
   public static String getWeekday(int year, int month, int day){
int m = month;
int y = year;

if((month ==1) || (month ==2)){
    m = m+12;
    y = y-1;
}

int A = (int)(y/100.0);
int B = 2 - A + (int)(A/4.0);
int C = (int)(365.25*y);


if(C < 0) 
    C = C-1;

int D = (int)(30.6001*(m+1));

double JD = B + C + D + day + JULILAN_CONSTANT;
double E = ((JD+1.5)/7.0);
double F = E - (int)E;
int n = (int)Math.round((7*F));
if(n == 0)
    return "sunday";
else if(n ==1)
    return "monday";
else if(n ==2)
    return "tuesday";
else if(n ==3)
    return "wednesday";
else if(n ==4)
    return "thursday";
else if(n == 5)
    return "friday";
else if(n == 6)
    return "saturday";
else
    return "bad data!";


   }

}

 

/Neox -(Patrik J)

"Gravitation can not be held responsible for people falling in love"
- citat av Albert Einstein

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...