Avatar billede pablopablo Nybegynder
12. april 2006 - 12:15 Der er 12 kommentarer og
1 løsning

Calendar Class

Hej...

Jeg er igang med en winform som skal benytte en webservice, som en anden har lavet...metodehovedet på denne webservice ser således ud:

report(string patientKey, string password, double vaerdi, Calendar time)

time = dato og kl.

Mit spg. er hvordan opretter en et Calendar objekt i C# som indeholder dette? Kender kun til DateTime...og kan finde ud af via msdn hvordan man benytter et Calendar objekt til dette??

Håber I kan hjælpe mig.

Mvh. PabloPablo
Avatar billede spif2001 Nybegynder
12. april 2006 - 12:24 #1
Så vidt jeg kan se er Calendar abstract:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationcalendarclasstopic.asp

Så du skal vel have fat i en af de "derived" - GregorianCalendar f.eks.
Avatar billede spif2001 Nybegynder
12. april 2006 - 12:29 #2
Dvs.

using System.Globalization;

...

Så kan du:


GregorianCalendar gc = new GregorianCalendar();
Avatar billede pablopablo Nybegynder
12. april 2006 - 12:30 #3
Det er præcis det link jeg allerede har studeret...og det får jeg ikke meget ud af...?

Kan du give mig et eks. på hvordan du vil oprette et calendar objekt som indeholder dato og kl. således at du kunne sende til vidre til fx. en webservice...?

Med DateTime er det jo lige ud af landevejen, men dette forstår jeg mig ikke på...
Avatar billede arne_v Ekspert
12. april 2006 - 12:30 #4
(new CultureInfo("da-DK", false)).Calendar

henter en dansk Calendar

CultureInfo.CurrentCulture.Calendar

henter den nuværende Calendar
Avatar billede spif2001 Nybegynder
12. april 2006 - 12:33 #5
ah - smart
Avatar billede pablopablo Nybegynder
12. april 2006 - 12:37 #6
øøhm...er stadig ikke helt med, men vil det sige, at jeg fx. kunne sende dette afsted til webservicen:

report("string1", "string2", 5.7, (new CultureInfo("da-DK", false)).Calendar); ?

Vil calendar objektet så indeholde den aktuelle dato og kl, som modtageren så vil være i stand til benytte....nej vel??
Avatar billede arne_v Ekspert
12. april 2006 - 12:46 #7
nej

en Calendar klasse indeholder ikke tid - den kan formatere og regne med tid

(den definerer nogle regler for hvordan tid skal forolkes og manipuleres)
Avatar billede spif2001 Nybegynder
12. april 2006 - 12:48 #8
Så det er vel egentlig lidt misvisende, at der står time ved den Calendar parameter i WebService metoden?
Avatar billede pablopablo Nybegynder
12. april 2006 - 12:51 #9
okey, ja det mente jeg også...men troede alligevel til at state med at det bare var mig som ikke kunne hitte ud af det..:)

Hm...men så vil jeg skrive til ham som har lavet webservicen, at det skal være en DateTime i stedet for...
Avatar billede arne_v Ekspert
12. april 2006 - 12:57 #10
det er også principielt forkert at bruge en System.Globaliztion.Calendar i en web service

fordelen ved en web service er at den kan kaldes fra alle sprog

et Java program eller en PHP side kan ikke bruge en System.Globaliztion.Calendar
Avatar billede pablopablo Nybegynder
12. april 2006 - 13:22 #11
okey, men tak Arne! Rart at snakke med nogen som ved hvad de snakker om og har styr på tingene ;)

Læg et svar...
Avatar billede arne_v Ekspert
12. april 2006 - 13:45 #12
svar

spif's svar med new GregorianCalendar virker vel også
Avatar billede pablopablo Nybegynder
12. april 2006 - 13:50 #13
Hvis jeg skal give points efter hvilket svar jeg kunne bruge som et svar, kom det ikke fra Spif...trods han var hurtigst på aftrækkeren...det var dig som gjorde det klart at ham der havde lavet webservicen har brugt en helt forkert type...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester