Zeitausgabe

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/zeitausgabe_184372/page_1 - zur Vollversion wechseln!


Friedel schrieb am 30.08.2007 um 02:38

Hi,

hab' von coden und sowas _absolut keine Ahnung, hätte aber gerne eine .bat-Datei(oder wie man sowas auch immer realisiert?), mit der ich die aktuelle Zeit+17.5h angezeigt bekomme. (Win XP)
Also ->klick=Zeitausgabe.

Kann mir da wer helfen?
:)


sensei schrieb am 30.08.2007 um 09:45

falls html auch geht:

Code:
<head>
  <script type="text/javascript">
    function loadTime() {
      var date = new Date();
      date.setHours(date.getHours() +17);
      date.setMinutes(date.getMinutes() + 30);
      var hours = date.getHours();			
      var minutes = date.getMinutes();
      if(hours < 10) {hours = "0" + hours;}
      if(minutes < 10) {minutes = "0" + minutes;}
      document.getElementById("time").innerHTML = "";
      document.getElementById("time").innerHTML = hours + ":" + minutes;
     }
  </script>
</head>
<body onload="loadTime();">
   <div id="time"></div>
</body>

einfach als irgendwas.html abspeichern und doppelklickn...
edit: die einrückungen mag er irgendwie ned :/
edit: upsi, danke JC


DKCH schrieb am 30.08.2007 um 10:04

edit: geistige umnachtung :D


Friedel schrieb am 30.08.2007 um 13:11

Super, danke!
:)


COLOSSUS schrieb am 30.08.2007 um 13:16

Unter CygWin bzw. GNU/Linux:

Code:
date -d @$(echo $(($(date +%s) + 63000)))


semteX schrieb am 30.08.2007 um 16:41

colos lösung flashed mich so, super :D ich hab nicht den funken einer ahnung, was das ding tut :D

die vom sensei ist auch fein, allerdings gehört a für innerhtml eigentlich a daumen abgehackt gehört


Nico schrieb am 30.08.2007 um 19:08

output: "Fri Aug 31 12:37:44 CEST 2007"


Marcellus schrieb am 31.08.2007 um 00:51

@semtex

man date

Zitat
...
-d, --date=STRING
display time described by STRING, not `now'
...

dan holt er sich noch das aktuelle datum daher und rechnet 63000s=17.5h dazu und lässt es vom ersten ausdruck zu einem formatierten string zusammenwursten. Sehr elegante lösung, drauf wär ich nie gekommen, du kannst übrigens noch mit dem für date üblichen format string angeben wie das ganze ausgegeben werden soll.

@ontopic ich würd das ganze so machen auf windows

Code:
#include<time.h>
#include<stdio.h>

int main(void)
{
        time_t  zeit=time(NULL);
        int     minute=(*(localtime(&zeit))).tm_min+30;
        int     stunde=(*(localtime(&zeit))).tm_hour+17;
        if(minute>=60)
        {
                minute-=60;
                stunde+=1;
        }
        printf("Es ist jetzt %i:%i, blubb!\n",stunde%24, minute);
        getchar();
        return 0;
}

Wobei ich jetzt kein windows herumliegen hab zum compilieren, aber ich glaub das kreigst du schon gebacken. http://bloodshed-dev-c.en.softonic.com/

Die variante vom colo ist trotzdem schöner, bei meiner musst noch herumpfuschen, wenn du sekunden usw auch noch haben willst. :rolleyes:


Burschi1620 schrieb am 31.08.2007 um 01:07

kannst du mir dein programm bitte erklären? :D

Des programm wirds dir mit einer normalen exe im windows vermutlich schließen -> vorm return 0; ein system("pause");


Marcellus schrieb am 31.08.2007 um 01:22

kannst auch ein getchar() einbauen, wenns dir spaß macht, ich hab eine shell hier und hab nicht drauf geachtet.

Ich hab selber nur irgendwas aus time.h zusammengestöpselt, bis es sich annehmbar verhalten hat.

Im großen und ganzen hast du time_t zeit, das ist dein zeit datentyp, in sekunden seit ich glaub dem 1. november 1970. Localtime ist ansich nur eine funktion vom datentyp tm das dir ein time_t auf lesbare zeiten aufteilen kann.

Ich hab halt auf jetzt initialisiert, um die 17,5 h inkrementiert und dann das ganze in die ints minute und stunde aufgeteilt.

Die if kommt zum tragen, wenn du zb nach der 30 minute probierst 30 min dazuzuzählen, dem int ists egal, obs gerade als minute herhalten muss, deswegen schau ich ob minuten größer, oder gleich sind als 60, wenn das der fall ist haben wir eine volle stunde, da fahr ich mit dem modulo 60 über die minuten drüber und inkrementier die stunden um 1.

Aber stimmt, ansich wär ein - statt dem % angebrachter und ich hab noch vergessen die stunden auf 24 abzuzwacken.

edit:Und nein ich werd sicher nicht system("pause") verwenden, ich sitz hier auf einem linux kistl und ich werd mir sicher nicht mein eigenes grab schaufeln.


Burschi1620 schrieb am 31.08.2007 um 01:37

#include<conio.h>

somit würde man sich eine komplette bibliothek bei windows sparen ;) (und bei dem programm speziell)

Aber das .tm_min und .tm_hour versteh ich leider noch net so recht. :(
Soll das eine funktion sein? Ne, da fehlen parameter. Eine variable?
Ich kenn in C nur structe die punkte verwenden. Also struktname.variablenname

edit: ah, hab selbst bissl rechachiert. das tm_min und tm_hour sind struct variablen :)
Jetzt müsste alles klar sein :)


mat schrieb am 31.08.2007 um 12:30

wie wäre es wenn du in zukunft desöfteren mal "rechachierst"? nachdem die qualität deiner posts in der letzten zeit wieder mal im keller ist - und damit meine ich nicht, dass sie jemals wirklich nicht dort waren - könntest du dich bemühen und andere poster, die ahnung haben nicht mit blödsinn überhäufen.

system("pause") :bash:


Burschi1620 schrieb am 31.08.2007 um 14:02

Zitat von mat
wie wäre es wenn du in zukunft desöfteren mal "rechachierst"? nachdem die qualität deiner posts in der letzten zeit wieder mal im keller ist - und damit meine ich nicht, dass sie jemals wirklich nicht dort waren - könntest du dich bemühen und andere poster, die ahnung haben nicht mit blödsinn überhäufen.

system("pause") :bash:
zum glück ist dieses forum ja NICHT zum helfen da, oder? :bash:
Anstatt zu flamen könntest du mir mal erklären warum system("pause") so ein extremes no-go ist.
Ich hatte bei meinen kleinen programmen auf windows platformen nie probleme damit. Bevor ich mir ne bibliothek reinlad verwend ich einfach den befehl, bei dem kleinen programm ists doch eh egal?!

Sorry wenn diese frage für dich anscheinend auf "Qualle" niveau ist, aber deine hilfsbereitschaft war auch schonmal besser :mad:


Marcellus schrieb am 31.08.2007 um 14:02

Ich bin jetzt von getch() auf getchar() übergegangen. Das sollte in stdio.h sein auch in windows.

@mat meinst du mich? Ich weis, dass das programm ziemlich hässlich ist, aber ich wollt nur schnell was zusammenschustern.


Burschi1620 schrieb am 31.08.2007 um 14:09

Zitat von Marcellus
Ich bin jetzt von getch() auf getchar() übergegangen. Das sollte in stdio.h sein auch in windows.

@mat meinst du mich? Ich weis, dass das programm ziemlich hässlich ist, aber ich wollt nur schnell was zusammenschustern.
keine sorge, er meint mich :)

kannst du mir vielleicht nun endlich mal erklären warum system("pause"); so verrufen ist?




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026