Wed 30 Aug, 2006
Note : This Program is Coded for Indian Standard Time +5:30 GMT.
You Can Change the values to your local standard time at Appropriate Places.
#include<dos.h>
#include<stdio.h>
void adjust(int,int);char ch,name[30];
void timex(),printpm(int,int),printam(int,int);
int h,m,s,parix,cairx,kux,sharx,kabx,kaby,karx,madx,mady,dhax,banx,tokx;
int hongx,adelx,adely,welx,sydx,icex,atlax,brasx,alasx,mexix,hawx,gmh,gmm;
int hollyx,arix,parax,westx;
void main(int argc,char **argv)
{
if(argc==2){
if(strcmp(argv[1],"GMT")==0){timex();adjust(gmh,gmm);}
if(strcmp(argv[1],"london")==0){timex();adjust(gmh,gmm);}
if(strcmp(argv[1],"dublin")==0){timex();adjust(gmh,gmm);}
if(strcmp(argv[1],"edinburgh")==0){timex();adjust(gmh,gmm);}
if(strcmp(argv[1],"paris")==0){timex();parix=gmh+1;adjust(parix,gmm);}
if(strcmp(argv[1],"berlin")==0){timex();parix=gmh+1;adjust(parix,gmm);}
if(strcmp(argv[1],"rome")==0){timex();parix=gmh+1;adjust(parix,gmm);}
if(strcmp(argv[1],"lisbon")==0){timex();parix=gmh+1;adjust(parix,gmm);}
if(strcmp(argv[1],"amsterdam")==0){timex();parix=gmh+1;adjust(parix,gmm);}
if(strcmp(argv[1],"cairo")==0){timex();cairx=gmh+2;adjust(cairx,gmm);}
if(strcmp(argv[1],"harare")==0){timex();cairx=gmh+2;adjust(cairx,gmm);}
if(strcmp(argv[1],"israel")==0){timex();cairx=gmh+2;adjust(cairx,gmm);}
if(strcmp(argv[1],"helsinki")==0){timex();cairx=gmh+2;adjust(cairx,gmm);}
if(strcmp(argv[1],"athens")==0){timex();cairx=gmh+2;adjust(cairx,gmm);}
if(strcmp(argv[1],"kuwait")==0){timex();kux=gmh+3;adjust(kux,gmm);}
if(strcmp(argv[1],"baghdad")==0){timex();kux=gmh+3;adjust(kux,gmm);}
if(strcmp(argv[1],"nairobi")==0){timex();kux=gmh+3;adjust(kux,gmm);}
if(strcmp(argv[1],"riyadh")==0){timex();kux=gmh+3;adjust(kux,gmm);}
if(strcmp(argv[1],"sharjah")==0){timex();sharx=gmh+4;adjust(sharx,gmm);}
if(strcmp(argv[1],"abudhabi")==0){timex();sharx=gmh+4;adjust(sharx,gmm);}
if(strcmp(argv[1],"muscat")==0){timex();sharx=gmh+4;adjust(sharx,gmm);}
if(strcmp(argv[1],"kabul")==0){timex();kabx=gmh+4;kaby=gmm+30;
if(kaby>=60){kaby=kaby-60;kabx++;}adjust(kabx,kaby);}
if(strcmp(argv[1],"karachi")==0){timex();karx=gmh+5;adjust(karx,gmm);}
if(strcmp(argv[1],"islamabad")==0){timex();karx=gmh+5;adjust(karx,gmm);}
if(strcmp(argv[1],"chennai")==0){timex();madx=gmh+5;mady=gmm+30;
if(mady>=60){mady=mady-60;madx++;}adjust(madx,mady);}
if(strcmp(argv[1],"mumbai")==0){timex();madx=gmh+5;mady=gmm+30;
if(mady>=60){mady=mady-60;madx++;}adjust(madx,mady);}
if(strcmp(argv[1],"delhi")==0){timex();madx=gmh+5;mady=gmm+30;
if(mady>=60){mady=mady-60;madx++;}adjust(madx,mady);}
if(strcmp(argv[1],"calcutta")==0){timex();madx=gmh+5;mady=gmm+30;
if(mady>=60){mady=mady-60;madx++;}adjust(madx,mady);}
if(strcmp(argv[1],"colombo")==0){timex();madx=gmh+5;mady=gmm+30;
if(mady>=60){mady=mady-60;madx++;}adjust(madx,mady);}
if(strcmp(argv[1],"dhaka")==0){timex();dhax=gmh+6;adjust(dhax,gmm);}
if(strcmp(argv[1],"bangkok")==0){timex();banx=gmh+7;adjust(banx,gmm);}
if(strcmp(argv[1],"jakarta")==0){timex();banx=gmh+7;adjust(banx,gmm);}
if(strcmp(argv[1],"singapore")==0){timex();banx=gmh+7;adjust(banx,gmm);}
if(strcmp(argv[1],"hongkong")==0){timex();hongx=gmh+8;adjust(hongx,gmm);}
if(strcmp(argv[1],"beijing")==0){timex();hongx=gmh+8;adjust(hongx,gmm);}
if(strcmp(argv[1],"philipines")==0){timex();hongx=gmh+8;adjust(hongx,gmm);}
if(strcmp(argv[1],"tokyo")==0){timex();tokx=gmh+9;adjust(tokx,gmm);}
if(strcmp(argv[1],"japan")==0){timex();tokx=gmh+9;adjust(tokx,gmm);}
if(strcmp(argv[1],"adelaide")==0){timex();adelx=gmh+9;adely=gmm+30;
if(adely>=60){adely=adely-60;adelx++;}adjust(adelx,adely);}
if(strcmp(argv[1],"sydney")==0){timex();sydx=gmh+10;adjust(sydx,gmm);}
if(strcmp(argv[1],"melbourne")==0){timex();sydx=gmh+10;adjust(sydx,gmm);}
if(strcmp(argv[1],"brisbane")==0){timex();sydx=gmh+10;adjust(sydx,gmm);}
if(strcmp(argv[1],"wellington")==0){timex();welx=gmh+12;adjust(welx,gmm);}
if(strcmp(argv[1],"newzealand")==0){timex();welx=gmh+12;adjust(welx,gmm);}
if(strcmp(argv[1],"auckland")==0){timex();welx=gmh+12;adjust(welx,gmm);}
if(strcmp(argv[1],"iceland")==0){timex();if(gmh<2){icex=24+gmh-1;}
if(gmh>=2){icex=gmh-1;}adjust(icex,gmm);}
if(strcmp(argv[1],"midatlantic")==0){timex();if(gmh<3){atlax=24+gmh-2;}
if(gmh>=3){atlax=gmh-2;}adjust(atlax,gmm);}
if(strcmp(argv[1],"brasil")==0){timex();if(gmh<4){brasx=24+gmh-3;}
if(gmh>=4){brasx=gmh-3;}adjust(brasx,gmm);}
if(strcmp(argv[1],"georgetown")==0){timex();if(gmh<4){brasx=24+gmh-3;}
if(gmh>=4){brasx=gmh-3;}adjust(brasx,gmm);}
if(strcmp(argv[1],"paraguay")==0){timex();if(gmh<5){parax=24+gmh-4;}
if(gmh>=5){parax=gmh-4;}adjust(parax,gmm);}
if(strcmp(argv[1],"trinidad")==0){timex();if(gmh<5){parax=24+gmh-4;}
if(gmh>=5){parax=gmh-4;}adjust(parax,gmm);}
if(strcmp(argv[1],"tobago")==0){timex();if(gmh<5){parax=24+gmh-4;}
if(gmh>=5){parax=gmh-4;}adjust(parax,gmm);}
if(strcmp(argv[1],"westindies")==0){timex();if(gmh<6){westx=24+gmh-5;}
if(gmh>=6){westx=gmh-5;}adjust(westx,gmm);}
if(strcmp(argv[1],"newyork")==0){timex();if(gmh<6){westx=24+gmh-5;}
if(gmh>=6){westx=gmh-5;}adjust(westx,gmm);}
if(strcmp(argv[1],"washington")==0){timex();if(gmh<6){westx=24+gmh-5;}
if(gmh>=6){westx=gmh-5;}adjust(westx,gmm);}
if(strcmp(argv[1],"colombia")==0){timex();if(gmh<6){westx=24+gmh-5;}
if(gmh>=6){westx=gmh-5;}adjust(westx,gmm);}
if(strcmp(argv[1],"peru")==0){timex();if(gmh<6){westx=24+gmh-5;}
if(gmh>=6){westx=gmh-5;}adjust(westx,gmm);}
if(strcmp(argv[1],"mexico")==0){timex();if(gmh<7){mexix=24+gmh-6;}
if(gmh>=7){mexix=gmh-6;}adjust(mexix,gmm);}
if(strcmp(argv[1],"arizona")==0){timex();if(gmh<8){arix=24+gmh-7;}
if(gmh>=8){arix=gmh-7;}adjust(arix,gmm);}
if(strcmp(argv[1],"hollywood")==0){timex();
if(gmh<9){hollyx=24+gmh-8;}if(gmh>=9){hollyx=gmh-8;}adjust(hollyx,gmm);}
if(strcmp(argv[1],"losangeles")==0){timex();
if(gmh<9){hollyx=24+gmh-8;}if(gmh>=9){hollyx=gmh-8;}adjust(hollyx,gmm);}
if(strcmp(argv[1],"alaska")==0){timex();
if(gmh<10){alasx=24+gmh-9;}if(gmh>=10){alasx=gmh-9;}adjust(alasx,gmm);}
if(strcmp(argv[1],"hawaii")==0){timex();
if(gmh<11){hawx=24+gmh-10;}if(gmh>=11){hawx=gmh-10;}adjust(hawx,gmm);}
}
if(argc==1)
{
puts(" WTIME command developed by KARTHIKEYAN ");
puts("\nMeaning : Shows present time of specified place or country");
puts("\n SYNTAX : wtime <place>");
puts("\nEXAMPLE : wtime GMT , wtime auckland , wtime arizona , etc.");
puts("\nSome places: tokyo,cairo,westindies,kuwait,singapore,hongkong");
puts("beijing,alaska,newyork, hollywood,losangeles, hawaii,colombo,iceland");
puts("rome,athens,london,paris,israel,muscat,karachi,bangkok,sydney,brasil");
}
}
void timex()
{
struct time tt;gettime(&tt);
h=tt.ti_hour;m=tt.ti_min;s=tt.ti_sec;
if(h>=12){printf("Present Local time is %02d:%02d:%02d P.M\n",h,m,s);}
if(h<12){printf("Present Local time is %02d:%02d:%02d A.M\n",h,m,s);}
puts("Whether it is correct y/n");ch=getch();
if(ch=='y'){h=tt.ti_hour;m=tt.ti_min;s=tt.ti_sec;}
else{printf("Enter correct indian time h,m,s\20");scanf("%d%d%d",&h,&m,&s);}
if(h>5)
{if(m==0){gmh=h-6;gmm=30;}
if(m==30){gmh=h-5;gmm=0;}
if(m<30){gmh=h-6;gmm=m+30;}
if(m>30){gmh=h-5;gmm=m-30;}}
if(h<5&&h>0)
{if(m==0){gmh=24+h-6;gmm=30;}
if(m==30){gmh=24+h-5;gmm=0;}
if(m<30){gmh=24+h-6;gmm=m+30;}
if(m>30){gmh=24+h-5;gmm=m-30;}}
if(h==0)
{if(m==0){gmh=24-6;gmm=30;}
if(m==30){gmh=24-5;gmm=0;}
if(m<30){gmh=24-6;gmm=m+30;}
if(m>30){gmh=24-5;gmm=m-30;}}
if(h==5)
{if(m==0){gmh=24-1;gmm=30;}
if(m==30){gmh=24;gmm=0;}
if(m<30){gmh=24-1;gmm=m+30;}
if(m>30){gmh=24;gmm=m-30;}}
}
void adjust(int a,int b)
{if(a>12&&a<24){printpm(a-12,b);}
else if(a<12){printam(a,b);}
else if(a==12){printpm(a,b);}
else if(a==24){printam(a-12,b);}
else if(a>24){printam(a-24,b);}
}
void printam(int x,int y)
{
printf("\20%02d:%02d:%02d A.M\n",x,y,s);
}
void printpm(int x,int y)
{
printf("\20%02d:%02d:%02d P.M\n",x,y,s);
}
