German Hi

mcmanu

Active Member
Licensed User
Longtime User
Hi,
Will bisschen mit der Calendar Lib. rumexperimentieren, ist total Interessant.
Jedoch muss man das Start datum in Millisekunden eingeben.

Nun will ich das man das Startdatum in einem Datedialog eingibt.
Wie bekomme ich aus dem datum des Datedialoges die Millisekunden anzahl von
date.now zu dem datedialog datum??

Ich hab es so versucht, funktioniert aber nicht

-->
DateTime.DateFormat = "dd.MM.yyyy"

date.Year = DateTime.GetYear(DateTime.Now)
date.Month = DateTime.GetMonth(DateTime.Now)
date.DayOfMonth = DateTime.GetDayOfMonth(DateTime.Now)
date.Show("test","test","positiv","","",Null)
Dim dated As String
Dim datem As String
Dim datey As String
dated= DateTime.DateParse(DateTime.Date(date.DayOfMonth))
datem=DateTime.DateParse(DateTime.Date(date.Month))
datey=DateTime.DateParse(DateTime.Date(date.Year))
Msgbox(datetime.now - dated + datem +datey,"")
 
Last edited:

pjo12345

Active Member
Licensed User
Longtime User
Schau dir mal das hier an: DateTime

Grüße aus dem Norden...
 

mcmanu

Active Member
Licensed User
Longtime User
Danke dir

Danke, hab mir das durchgelesen jedoch hilft es mir kaum weiter :-(

Ich benutze einen datetimedialog um das datum auszuwählen, nun will ich die millisekunden von dem date.now zu dem ausgewählten bekommen, hab no idea wie ich des machen soll

Hoffe jemand kann mir weiterhelfen :)
 

mcmanu

Active Member
Licensed User
Longtime User
Hi Klaus

Stimmt, ohmann ich ..., sorry daran habe ich nicht gedacht :)
Werds mal versuchen, Danke dir :)
 

mcmanu

Active Member
Licensed User
Longtime User
Strange

Ich habe es nun geschafft die zeit zwischen dem Heutigen Datum und dem ausgewählten in millisekunden zu bekommen, hab versucht es dann als startzeit im Kalender einzutragen, bekomme aber immer vom januar 1970 bis heute
Woran liegt das?

dim a string 'testvariable
a=date.DateTicks -DateTime.Now 'Millisekunden von heute bis zu dem ausgewählten datum

cal.CreateEventWithReminder(Value,"Frühstücken",EditText1.text,"münchen",DateTime.Now+a,DateTime.Now+130000,5,Null,False)
 

klaus

Expert
Licensed User
Longtime User
Ich verstehe diese Zeile nicht:
B4X:
cal.CreateEventWithReminder(Value,"Frühstücken",Ed itText1.text,"münchen",DateTime.Now+a,DateTime.Now+130000,5,Null,False)
Die StartZeit ist ein x beliebiges Datum und die EndZeit ist Jetzt plus 130 Sekunden ?
DateTime.Now ist jetzt, das heisst heute und der jetzigen Stunde, Minute usw.

Beste Grüsse.
 
Last edited:

mcmanu

Active Member
Licensed User
Longtime User
Upps ja sorry hatte die endzeit eigentlich auf 86.400.000 also einen tag
Ich will das der nutzer ein Datum eingibt sagen wir den 13.04.2012
und an diesen datum soll dann der Kalender eintrag gemacht werden
habs versucht mit datetime.now+date.tick. jedoch steht beim google Kalendar
vom 1. januar 1970 bis heute.
Hab auch versucht einfach die Millisekunden anzahl in einer variablen zu speichern und dann --> date.time+a
hat jedoch auch nicht Funktioniert, was ich persönlich sehr seltsam finde
 
Last edited:

pjo12345

Active Member
Licensed User
Longtime User
Zu einem Datum etwas addieren oder subtrahieren geht mit DateTime.Add.

Schaust du hier: DateTime.Add
 

mcmanu

Active Member
Licensed User
Longtime User
Danke dir :) aber mit datetime.add habe ichs schonmal versucht
ohne erfolg
->
B4X:
DateTime.DateFormat = "dd.MM.yyyy"

    date.Year = DateTime.GetYear(DateTime.Now)
date.Month = DateTime.GetMonth(DateTime.Now)    
date.DayOfMonth = DateTime.GetDayOfMonth(DateTime.Now)
   date.Show("test","test","positiv","","",Null)
   Dim datea As String
   Dim dateb As String
   Dim datec As String
   datea= DateTime.DateParse(DateTime.date(date.DayOfMonth)) 
   dateb=DateTime.DateParse(DateTime.date(date.Month)) 
   datec=DateTime.DateParse(DateTime.date(date.Year)) 
   Msgbox(date.DateTicks-DateTime.now,"")
      labeldate.Text=date.DayOfMonth & "." & date.Month & "." & date.Year
   
      a=date.DateTicks -DateTime.Now
      date1=DateTime.Add(a,datec,dateb,datea)
      ToastMessageShow(date1,True)

Danach -->
B4X:
cal.CreateEventWithReminder(Value,"Frühstücken",EditText1.text,"Lenting",DateTime.Now-date1,DateTime.Now+86400000,5,Null,False)
 

klaus

Expert
Licensed User
Longtime User
Könntest Du mal genauer erklähren was Du machen willst.
Denn Deine Rechnungen kommen mir 'komisch' vor.
Du hast einmal
a = date.DateTicks - DateTime.Now

dann addierst Du einiges
date1=DateTime.Add(a,datec,dateb,datea)

und dann, wenn zum Beispiel datec, dateb und datea Null sind
DateTime.Now - date1 = DateTime.Now - a = DateTime.Now - date.DateTicks + DateTime.Now = date.DateTicks ???

Das heisst DateTime.Now nützt zu nichts.

Beste Grüsse.
 

klaus

Expert
Licensed User
Longtime User
Ist das beiliegende Beispiel was Du suchst.
B4X:
DateTime.DateFormat = "dd.MM.yyyy"
    
dialDate.DateTicks = DateTime.Now
Antw = dialDate.Show("Datum eingeben", "Anfang", "OK", "Abbrechen", "", Null)
If Antw = DialogResponse.POSITIVE Then
   UhrZeitJetzt = DateTime.Now - DateTime.DateParse(DateTime.Date(DateTime.Now))
   DatumAnfang = dialDate.DateTicks + UhrZeitJetzt
'  DatumAnfang = dialDate.DateTicks + DateTime.Now - DateTime.DateParse(DateTime.Date(DateTime.Now))
   lblAnfang.Text = "  " & DateTime.Date(DatumAnfang) & "   " &  DateTime.Time(DatumAnfang)
        
   ' addiert zwei Stunden
   DatumEnde = DatumAnfang + DateTime.TicksPerHour * 2
   lblEnde.Text = "  " & DateTime.Date(DatumEnde) & "   " & DateTime.Time(DatumEnde)
End If
Beste Grüsse.
 

Attachments

  • Calendar.zip
    6.4 KB · Views: 255

mcmanu

Active Member
Licensed User
Longtime User
Danke Klaus

Hat sich geklärt :)
Danke klaus für dein Beispiel, habs jetzt so umgebaut das es Funktioniert in meiner app :) Danke danke danke :)
Und sorry das ich mich so unklar ausgedrückt habe :)
 
Top