{"id":2280,"date":"2022-04-13T14:03:08","date_gmt":"2022-04-13T11:03:08","guid":{"rendered":"https:\/\/www.mikrobotik.com\/wp2\/?p=2280"},"modified":"2023-04-14T17:56:52","modified_gmt":"2023-04-14T14:56:52","slug":"unixtime-timestamp-nedir-ve-kutuphanesiz-olarak-nasil-cozumlenir","status":"publish","type":"post","link":"https:\/\/www.mikrobotik.com\/wp2\/2022\/04\/13\/unixtime-timestamp-nedir-ve-kutuphanesiz-olarak-nasil-cozumlenir\/","title":{"rendered":"UNIXTIME TIMESTAMP NED\u0130R VE K\u00dcT\u00dcPHANES\u0130Z OLARAK NASIL \u00c7\u00d6Z\u00dcMLEN\u0130R"},"content":{"rendered":"<p>UNIXTIME dedi\u011fimiz 10 karakterli saniye cinsinden bir say\u0131y\u0131, bildi\u011fimiz tarih format\u0131na \u00e7evirmek i\u00e7in bir d\u00f6n\u00fc\u015f\u00fcm yapmam\u0131z gerek. ( 10 karakterli sadece saniye cinsinden say\u0131d\u0131r. \u015eayet milisaniye olarak yazarsan\u0131z buna 3 tane 0 eklemeniz yeterlidir. ) Bu say\u0131n\u0131n bize getirdi\u011fi fayda ise, bir\u00e7ok programda de\u011fi\u015fmeksizin kullan\u0131lmas\u0131. Tarih format\u0131nda yazd\u0131\u011f\u0131n\u0131zda ayn\u0131 zamanda bir de GMT UTC dedi\u011fimiz saat farkl\u0131l\u0131klar\u0131n\u0131 yazmam\u0131z gereklili\u011fidir. UNIXTIME, her zaman GMT +0 saatine g\u00f6re hesaplan\u0131r. Burada GMT dedi\u011fimiz ayn\u0131 zamanda TIMEZONE denilen zaman b\u00f6lgesini g\u00f6sterir. \u00dclkemizde GMT +3.00 d\u0131r.<\/p>\n<p>Saat fark\u0131n\u0131 tarih format\u0131nda yazd\u0131\u011f\u0131m\u0131zda gelen tarih 1.1.2022 22:30:00 oldu\u011funda, bir de \u00fczerine gmt+3 saat eklersek, bu kez g\u00fcn de\u011fi\u015fimi s\u00f6z konusu olacakt\u0131. Bizim \u00fclkemizde bu \u00f6rnek tarihin kar\u015f\u0131l\u0131\u011f\u0131, 2.1.2022 01:30:00 d\u0131r. Bu \u00e7evrimi yapmak istemiyorsan\u0131z UNIXTIME kullanman\u0131z size avantaj sa\u011flayacakt\u0131r.<\/p>\n<p>Mesela Ayn\u0131 \u00f6rnekteki tarih GMT +0 olan unixtime <strong>1641076200 <\/strong>d\u0131r. Bu zamana, GMT +3.00 saat fark\u0131n\u0131 koyarsak saniye cinsinden toplamam\u0131z yeter. Bu zaman da 1 saat 3600 sn oldu\u011fundan 3*3600=10800 saniyedir. ( Bu da T\u00fcrkiyenin saniye cinsinden TIMEZONE bilgisidir) Bu bilgiyi ilk tarih i\u00e7in verilen UNIXTIME say\u0131s\u0131na eklememiz saat fark\u0131n\u0131 uygulam\u0131\u015f olmam\u0131z demektir.<br \/>\n<strong>1641076200<\/strong> + 10800= 1641087000 GMT+3.00 eklenmi\u015f tarih i\u00e7in UNIXTIME kodu elde edilir.<\/p>\n<p><strong>Epoch timestamp<\/strong>: <strong>1641076200<\/strong><br \/>\nTimestamp in <strong>milliseconds:<\/strong> 1641076200<strong>000<\/strong><br \/>\n<strong>Date and time (GMT)<\/strong>: Saturday, <strong>1 January 2022<\/strong> 22:30:00<\/p>\n<p><strong>Epoch timestamp<\/strong>: 1641087000<br \/>\nTimestamp in <strong>milliseconds:<\/strong> 1641087000000<br \/>\n<strong>Date and time (GMT)<\/strong>: Sunday, 2 January 2022 01:30:00<\/p>\n<p>Bu \u015fekilde UNIXTIME kullanman\u0131n avantaj\u0131n\u0131 g\u00f6rm\u00fc\u015f oluyoruz. Bundan dolay\u0131d\u0131r ki internetten ald\u0131\u011f\u0131n\u0131z verilerde unixtime kullan\u0131l\u0131r ve format sorunu olmaz.<\/p>\n<p>Gelen UNIXTIME kodu her zaman i\u00e7in GMT +0 zaman b\u00f6lgesine aittir. \u00dclke zaman\u0131, hangi zaman b\u00f6lgesindeyse onu kendiniz eklersiniz. UNIXTIME 1.1.1970 00:00:00 dan itibaren ge\u00e7en saniyelerin toplam\u0131n\u0131 g\u00f6sterir. Asl\u0131nda say\u0131, i\u015faretli bir 32 bit say\u0131 oldu\u011fundan 1.1.1900 y\u0131l\u0131ndan ba\u015flar. S\u0131f\u0131r noktas\u0131n\u0131 1.1.1970 say\u0131s\u0131nda bulundurur ve biz de bu tarihten sonra sayd\u0131\u011f\u0131 saniyeleri hesaplar\u0131z. \u015eayet bu tarihten \u00f6nceki tarihe gitmek isterseniz eksi de\u011fer vermeniz gerekir.<br \/>\n(<strong>i\u015faretli 32 bit say\u0131 ne demek:<br \/>\n<\/strong>1111 1111 1111 1111 1111 1111 1111 1111<br \/>\nyukar\u0131daki say\u0131 32 bit i\u015faretsiz bir say\u0131d\u0131r. \u0130\u015faretli oldu\u011funda ise en soldaki bit 0 ise pozitif 1 ise negatif bir say\u0131y\u0131 belirtir.)<\/p>\n<p><strong>Bu tarih kodu hangi tarihe kadar do\u011fru \u00e7al\u0131\u015f\u0131r.<\/strong><br \/>\nBu tarih kodlamas\u0131 32 bit i\u015faretli bir say\u0131n\u0131n maksimum say\u0131s\u0131na kadard\u0131r. Bu tarih ise 2038 y\u0131l\u0131d\u0131r. Ayn\u0131 2000 y\u0131l\u0131 milenyum sorunu gibi bu da 2038 de ba\u015flayacakt\u0131r.<br \/>\nMutlaka o zamana kadar bir \u00e7\u00f6z\u00fcm bulunacakt\u0131r.<\/p>\n<p>Fakat ne yap\u0131l\u0131rsa yap\u0131ls\u0131n milenyumdaki gibi bir sorun olacak. Bu tarihi kontrol eden cihazlar yeni programlama \u015fekline ge\u00e7irilecek. \u00c7\u00f6p olmak zorunda kalmayacakt\u0131r. \u015eayet program g\u00fcncelleme yap\u0131labiliyorsa.<\/p>\n<p><em>Milenyum Y2K sorunu 4 karakterli y\u0131l\u0131n son 2 karakterini kullanmaktan dolay\u0131 olmu\u015ftu. Bilgisayarlar o zamana kadar y\u0131l\u0131n son 2 hanesini kullan\u0131r ve ba\u015f\u0131nda 19 oldu\u011fu varsay\u0131m\u0131na g\u00f6re davran\u0131rd\u0131. Y\u0131l 2000 oldu\u011funda ise yine 2 karakter g\u00f6sterdi\u011finde tarih, 2000 yerine standart 19 kullan\u0131ld\u0131\u011f\u0131 i\u00e7in 1900 senesini g\u00f6stermeye ba\u015flard\u0131. <\/em><\/p>\n<p>Bunun gibi 2038 den sonra da UNIXTIME sorunu ortaya \u00e7\u0131k\u0131p 2038 y\u0131l\u0131n\u0131 g\u00f6steren say\u0131dan<br \/>\n\u2013 say\u0131ya ge\u00e7er ve bu kez ge\u00e7mi\u015fe gidecektir.<br \/>\n32 bit i\u015faretli say\u0131 demek -2.147.483.647 say\u0131s\u0131ndan ba\u015flar s\u0131f\u0131ra gider ve sonras\u0131nda 2.147.483.647 say\u0131s\u0131na gider. Bu say\u0131ya 1 saniye eklesek en ba\u015fa -2.147.483.647 say\u0131s\u0131na d\u00f6ner.<br \/>\n<strong>Son tarih :<\/strong><br \/>\n<strong>Epoch timestamp<\/strong>: 2147483647<br \/>\nTimestamp in milliseconds: 2147483647000<br \/>\n<strong>Date and time (GMT)<\/strong>: <span style=\"color: #ff0000;\">Tuesday, 19 January 2038 03:14:07<\/span><\/p>\n<p>Mesela a\u015fa\u011f\u0131daki linkte bulunan sayfaya gidip 32 bitten b\u00fcy\u00fck bir say\u0131 verseniz oras\u0131 size \u00e7ok daha ileri bir tarihi g\u00f6sterecektir. Fakat art\u0131k bu say\u0131 32 bitten fazla olaca\u011f\u0131ndan unixtime kodu olmayacakt\u0131r. <a href=\"https:\/\/www.epochconverter.com\/\">https:\/\/www.epochconverter.com\/<\/a><\/p>\n<p>64 bit sistemlerde bile standart zaman depolama alan\u0131, 32 bit ise sorun yaratacakt\u0131r.<br \/>\nYeni sistemler 64 bit tasarland\u0131\u011f\u0131ndan ve bu bilgi de uzun zamand\u0131r bilindi\u011finden \u00f6nlemler al\u0131nacakt\u0131r.<br \/>\nAs\u0131l sorun programlama yapt\u0131\u011f\u0131m\u0131z derleyiciler buna haz\u0131r m\u0131? Sistemsel olarak o zamana kadar yeni versiyonlar \u00e7\u0131kacak ve bu sorun \u00e7\u00f6z\u00fclecektir.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>Gelelim bizim bu say\u0131y\u0131 nas\u0131l \u00e7\u00f6zebilece\u011fimize.<\/strong><\/span><\/p>\n<p>Bu say\u0131n\u0131n 10 karakterli saniye cinsinden say\u0131 oldu\u011funu s\u00f6ylemi\u015ftik. Tarih format\u0131ndaki bir say\u0131y\u0131 belli saniye katsay\u0131lar\u0131yla i\u015flem yaparak, son say\u0131 olu\u015fturulur. Biz de bunun tersini yaparak bildi\u011fimiz tarih format\u0131na \u00e7evirece\u011fiz.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>Saniye cinsinden tablo:<\/strong><\/span><\/p>\n<table style=\"height: 316px;\" width=\"717\">\n<thead>\n<tr>\n<td>\n<p style=\"text-align: center;\"><strong>Human-readable time\u00a0<\/strong><\/p>\n<\/td>\n<td>\n<p style=\"text-align: center;\"><strong>Seconds<\/strong><\/p>\n<\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center;\">1 hour<\/p>\n<\/td>\n<td style=\"text-align: center;\">3600 seconds<\/td>\n<\/tr>\n<tr>\n<td>\n<p style=\"text-align: center;\">1 day<\/p>\n<\/td>\n<td>\n<p style=\"text-align: center;\">86400 seconds<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p style=\"text-align: center;\">1 week<\/p>\n<\/td>\n<td>\n<p style=\"text-align: center;\">604800 seconds<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p style=\"text-align: center;\">1 month (30.44 days)<\/p>\n<\/td>\n<td>\n<p style=\"text-align: center;\">2629743 seconds<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">1 year (365.24 days)<\/td>\n<td>\n<p style=\"text-align: center;\">\u00a031556926 seconds<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Yukar\u0131daki tabloya ve bu zaman koduna g\u00f6re hesab\u0131m\u0131z\u0131 yapal\u0131m.<br \/>\n<span style=\"color: #ff0000;\"><strong>Zaman kodu :<\/strong> <strong>1649713626<\/strong><\/span><\/p>\n<figure style=\"width: 737px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/UNIXTIME_CONVERTER\/unixtime_cozum_resmi.JPG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/UNIXTIME_CONVERTER\/unixtime_cozum_resmi.JPG?raw=true\" alt=\"\" width=\"737\" height=\"333\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 737px; --smush-placeholder-aspect-ratio: 737\/333;\" \/><\/a><figcaption class=\"wp-caption-text\"><span style=\"color: #ff0000;\">Resimde bu d\u00f6n\u00fc\u015f\u00fcm form\u00fclleri ve art\u0131k y\u0131llarda hafta say\u0131s\u0131n\u0131n nas\u0131l oldu\u011funu g\u00f6sterir. 52. hafta art\u0131ky\u0131l&#8217;a g\u00f6re, bir sonraki y\u0131la sarkar. Bu excel program\u0131 t\u00fcm dok\u00fcmanlar aras\u0131nda yer almaktad\u0131r.<\/span><\/figcaption><\/figure>\n<p>Yukar\u0131daki resimdeki form\u00fcllere g\u00f6re tarih format\u0131na \u00e7evirebiliriz.<br \/>\n\u00d6rnek vermek gerekirse : YIL= 1649713626 \/31556926=52,2773 Bu say\u0131n\u0131n tamsay\u0131 k\u0131sm\u0131 bize 1970 ten sonraki fark\u0131 verir. Bu da 52 say\u0131s\u0131d\u0131r. Bu say\u0131y\u0131 ba\u015flang\u0131\u00e7 y\u0131l\u0131 1970 ile toplarsak 2022 y\u0131l\u0131na ula\u015f\u0131r\u0131z.<\/p>\n<p>Bu i\u015flemleri yaparken elbet virg\u00fclden sonra say\u0131lar kalacak. Bundan dolay\u0131 i\u015flemlerde bazen <span style=\"color: #ff6600;\">b\u00f6lme<\/span> bazen de kalan gerekti\u011finden <span style=\"color: #ff6600;\">mod\u00fcler aritmetik<\/span> kullanarak sonuca ula\u015faca\u011f\u0131z. Resimde Arduino program\u0131ndaki form\u00fclleri g\u00f6r\u00fcyorsunuz. Bu form\u00fcllere g\u00f6re haz\u0131rlanan <strong>EXCEL dosyas\u0131n\u0131<\/strong> programlar aras\u0131nda bulabilirsiniz.\u00a0 <strong><span style=\"color: #ff6600;\">(Form\u00fcller ARDUINO \u00f6rne\u011findendir. Oradaki % i\u015fareti MOD alma i\u015flemidir)<\/span><\/strong><\/p>\n<p><span style=\"color: #ff6600;\">Arduinoda kafa kar\u0131\u015ft\u0131racak olan yerler olacak.<\/span> Bunlar ay hesaplamas\u0131nda +1 verilmesi gibi. Bunun sebebi ise b\u00f6lme sonucu 3,2 \u00e7\u0131kt\u0131\u011f\u0131nda 3 tam ay bitmi\u015f, bir de 0.2 ay ge\u00e7mi\u015f diyoruz. Tabii ki bu yeni ay\u0131 da +1 olarak biz ekliyoruz \u00e7\u00fcnk\u00fc yeni aydan g\u00fcn alm\u0131\u015ft\u0131r.<\/p>\n<p>Ayr\u0131ca ay\u0131n ismi ve g\u00fcn ismi de bulunmas\u0131 gerekti\u011finden 2 ayr\u0131 dizimiz var. Bunlar Ay isimlerini ve g\u00fcn say\u0131lar\u0131n\u0131 tutan dizilerdir. Ay say\u0131s\u0131na g\u00f6re ismini okuyoruz. Aylar\u0131n g\u00fcn say\u0131s\u0131na g\u00f6re de ay\u0131n, hangi g\u00fcn\u00fcnde oldu\u011fumuzu buluyoruz.<br \/>\nBunun yan\u0131 s\u0131ra da <span style=\"color: #ff6600;\"><strong>LEAP YEAR denilen ARTIK YIL<\/strong>\u00a0<\/span>kontrol\u00fc var. Hepimizin bildi\u011fi gibi 4 e b\u00f6l\u00fcnen aylarda \u015eubat 29 g\u00fcnd\u00fcr. Bunu da program i\u00e7inde <span style=\"color: #ff6600;\">art\u0131k y\u0131l<\/span> kontrol\u00fc yaparak buluyoruz ve \u015fubat 29 \u00e7ekecek \u015fekilde hesaplama yap\u0131yoruz.<\/p>\n<p>Ayr\u0131ca hafta say\u0131s\u0131 ve haftan\u0131n g\u00fcn\u00fc var. Burada da g\u00fcnlerin isimlerini tutan bir dizi var. Haftan\u0131n Birinci G\u00fcn\u00fc pazartesi olacak \u015fekilde dizi d\u00fczenlenmi\u015ftir.<br \/>\nHangi hafta dedi\u011fimizde, y\u0131lda 52 hafta var diyoruz. ( Herkes b\u00f6yle biliyor bu da do\u011fru ) Fakat Her y\u0131l 52. Haftan\u0131n birka\u00e7 g\u00fcn\u00fc yeni y\u0131la denk geliyor. Excel resminde g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi art\u0131k y\u0131l durumuna g\u00f6re bu say\u0131 0-3 g\u00fcn aras\u0131nda de\u011fi\u015fiyor. <strong><em>Yani 52. Hafta dedi\u011finizde ayn\u0131 y\u0131l olmayabilir bir sonraki y\u0131l\u0131n ilk g\u00fcn\u00fcnden bahsediyor olabilirsiniz.<\/em><\/strong> <strong><em><br \/>\n<\/em><\/strong><span style=\"color: #ff6600;\">Bu k\u0131s\u0131mda programda kontrol ediliyor.<\/span><\/p>\n<p>Saat k\u0131sm\u0131na gelirsek, daha \u00f6ncede s\u00f6yledi\u011fim gibi verilen unixtime kodu <span style=\"color: #ff6600;\">GMT +0<\/span> kodudur. Bu kodu <span style=\"color: #ff6600;\">GMT +3:00<\/span> koduna d\u00f6nd\u00fcrmek i\u00e7in, yani 3 saat eklemek i\u00e7in de bir b\u00f6l\u00fcm var. Burada +3 saat ekleniyor. <strong><span style=\"color: #ff6600;\">Fakat +3 saat ekledi\u011finizde g\u00fcn bir sonraki g\u00fcne gidiyor olabilir. B\u00f6yle bir hesaplama sonucu olursa, o zaman, ay, g\u00fcn, hafta ve y\u0131l yeni hesap sonucuna g\u00f6re hesaplan\u0131yor.<\/span><\/strong><\/p>\n<p>Arduino program\u0131 bu kadar ayr\u0131nt\u0131ya girmek zorunda kal\u0131yor. Fakat Excel de form\u00fcller basit tutuldu\u011fundan, ne art\u0131k y\u0131l, ne de GMT hesaplamas\u0131 yap\u0131lm\u0131yor.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>NOT: Arduino program\u0131 baz\u0131 \u015fartlar\u0131 ger\u00e7ekle\u015ftirecek \u015fekilde denense bile yeni yap\u0131lan her program gibi baz\u0131 eksiklikler ya da hatalar olabilir. Herhangi bir hata bulursan\u0131z yorum k\u0131sm\u0131na b\u0131rak\u0131rsan\u0131z d\u00fczeltmeye \u00e7al\u0131\u015f\u0131r\u0131m. Program da hatas\u0131z olur.\u00a0<\/strong><\/span><\/p>\n<p><span style=\"color: #ff6600;\">Diyeceksiniz ki, K\u00fct\u00fcphane var. Ba\u015fka t\u00fcrl\u00fc \u00e7\u00f6z\u00fcmler var buna ne diye ihtiyac\u0131m olsun.<\/span><\/p>\n<p><span style=\"color: #ff6600;\">Elbette hakl\u0131s\u0131n\u0131z.<\/span> Fakat k\u00fct\u00fcphane kullanmak onun nas\u0131l yap\u0131ld\u0131\u011f\u0131n\u0131 bilmemek, ileride yapaca\u011f\u0131n\u0131z programlamalarda sizi eksik b\u0131rakabilir. Mesela bir yerde programlama yapman\u0131z gerek. Fakat o programlama da k\u00fct\u00fcphane \u00f6rne\u011fi yok. Bu program\u0131 yapamam m\u0131 diyeceksiniz.<br \/>\nElbette k\u00fct\u00fcphane i\u015fi kolayla\u015ft\u0131r\u0131r. Fakat nas\u0131l yap\u0131ld\u0131\u011f\u0131n\u0131 bilirseniz, siz de k\u00fct\u00fcphane olmaks\u0131z\u0131n yapabilirsiniz.<\/p>\n<p><span style=\"color: #ff6600;\">Bununla birlikte baz\u0131 \u00e7\u00f6z\u00fcmlere de yer vermek istiyorum.<\/span><br \/>\nMesela Arduino ve ESP ile bir hava durumu sitesinden veri ald\u0131n\u0131z ve size unix time kodu geldi. Bunu \u00e7\u00f6z\u00fcp ekrana yazmal\u0131s\u0131n\u0131z. <span style=\"color: #ff6600;\">Arduinoya k\u00fct\u00fcphane eklemenize gerek yok.<\/span> Madem ki ESP ile bilgi al\u0131yorsunuz O zaman, bu zaman kodunu da internette bir siteye g\u00f6nderip orada \u00e7\u00f6z\u00fclmesini sa\u011flayabilirsiniz. <span style=\"color: #ff6600;\">ESP ile kullan\u0131lacaksa, Bu link HTTPS: oldu\u011fundan ESP nin security SSL ile ilgili k\u00fct\u00fcphanesini de kullanman\u0131z gerekir.<\/span><br \/>\n<strong>\u00d6rnek site link :<\/strong>\u00a0 <a href=\"https:\/\/unixtime.co.za\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/unixtime.co.za\/<\/a><\/p>\n<p>Bu siteden bilgi almak i\u00e7in siteye kendi zaman kodunuzu g\u00f6nderiyorsunuz ve bu zaman kodunu site \u00e7\u00f6z\u00fcp, size geri yolluyor.<br \/>\n<strong>\u00d6rnek :<\/strong><a href=\"https:\/\/showcase.api.linx.twenty57.net\/UnixTime\/fromunix?timestamp=1549892280\" target=\"_blank\" rel=\"noopener noreferrer\"><strong> https:\/\/showcase.api.linx.twenty57.net\/UnixTime\/fromunix?timestamp=1549892280<\/strong><\/a><\/p>\n<p>Yukar\u0131daki link k\u0131sm\u0131nda, son k\u0131sma kendi zaman kodunuzu yaz\u0131p, ESP ile g\u00f6nderebilirsiniz ve cevab\u0131 tarih format\u0131nda alabilirsiniz.<\/p>\n<p><span style=\"color: #ff6600;\">Ayr\u0131ca kendi sitenizde bedava bir PHP dosyas\u0131 olu\u015fturup,<\/span> PHP \u00fczerinde \u00e7\u00f6z\u00fclmesini sa\u011flay\u0131p, size tarih format\u0131nda vermesini sa\u011flayabilirsiniz. Bu \u00e7al\u0131\u015fma i\u00e7in <strong>\u00d6rnek program, <\/strong>dosyalar aras\u0131nda var. Kendi sitenize y\u00fckleyebilirsiniz. ( PHP dosyalar\u0131 direkt olarak bilgisayar\u0131n\u0131zda \u00e7al\u0131\u015fmaz bir bedava site edinip oraya koyman\u0131z gerek. Ya da bilgisayar\u0131n\u0131zda php sunucu olu\u015fturman\u0131z gerek.) <strong>Bu konu videoda g\u00f6sterilecektir<\/strong>.<\/p>\n<p><span style=\"color: #ff6600;\">TIMEZONE nedir a\u015fa\u011f\u0131daki resimde g\u00f6rebilirsiniz.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/8\/88\/World_Time_Zones_Map.png\" target=\"_blank\"  rel=\"lightbox[2280] noopener noreferrer\">https:\/\/upload.wikimedia.org\/wikipedia\/commons\/8\/88\/World_Time_Zones_Map.png<\/a><\/p>\n<p>D\u00fcnya \u00e7evresi dikey olarak (Sanal olarak) 360 meridyene b\u00f6l\u00fcnm\u00fc\u015ft\u00fcr. Zamanlama olarak her dikey \u00e7izgi (meridyen) aras\u0131 4dk d\u0131r. Her 15 meridyen 1 saate tekab\u00fcl eder. <span style=\"color: #ff6600;\">TIMEZONE dedi\u011fimiz k\u0131s\u0131m 15 meridyenlik b\u00f6l\u00fcnt\u00fcd\u00fcr.<\/span> T\u00fcrkiye ise \u0130stanbul olarak bakarsak GMT +2:00 timezone b\u00f6lgesindedir. Fakat yaz saati uygulamas\u0131 kal\u0131c\u0131 oldu\u011fundan GMT +3:00 noktas\u0131 kabul edilir.<br \/>\nT\u00fcrkiyenin D\u00fcnyadaki lokasyonu 26-45 do\u011fu meridyeni ve 36-42 Kuzey paralelidir.<br \/>\n26-30 aras\u0131 GMT +2:00 30-45 meridyeni aras\u0131 ise GMT +3:00 aras\u0131ndad\u0131r. Bunu GMT +3 olarak g\u00f6rebilirsiniz. GMT (<em>Greenwich Mean Time) Yani zaman i\u00e7in s\u0131f\u0131r noktas\u0131d\u0131r. Buradan +3 ve -3 gibi do\u011fuya do\u011fru ve bat\u0131ya do\u011fru timezone bilgisini al\u0131r. UNIXTIME her defas\u0131nda GMT +0 olarak gelir. Kullan\u0131c\u0131 hangi zaman b\u00f6lgesindeyse onu \u00fczerine ekler. GMT +3 denildi\u011finde 3*3600sn=10800sn. T\u00fcrkiye i\u00e7in eklenecek saniyedir. \u0130nternetten gelen bilgileri TR olarak istedi\u011finizde timezone=10800 olarak gelir.\u00a0<\/em><\/p>\n<p><span style=\"color: #ff6600;\"><strong>PHP i\u00e7in Link:<\/strong><\/span><br \/>\n<a href=\"http:\/\/mikrobotikradyo.tk\/api\/openweather\/clocksade1.php?ut=2147483647\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/mikrobotikradyo.tk\/api\/openweather\/clocksade1.php?ut=2147483647<\/a><\/p>\n<p>Yukar\u0131daki linkte son k\u0131s\u0131mdaki numaray\u0131 unixtime numaras\u0131yla de\u011fi\u015ftirip yollay\u0131n. PHP sizin de\u011ferinize kar\u015f\u0131l\u0131k gelen tarih format\u0131na g\u00f6re tarihi verecek. GMT +3 olarak size d\u00f6necek. <span style=\"color: #ff6600;\">PHP dosyas\u0131n\u0131 d\u00fczenleyerek<\/span> istedi\u011finiz timezone b\u00f6lgesine g\u00f6re verilmesini sa\u011flayabilirsiniz.<\/p>\n<p><strong><span style=\"color: #ff6600;\">Dikkat di\u011fer verdi\u011fim link https oldu\u011fundan, esp nin SSL k\u00fct\u00fcphanesi gerekiyordu. Bu verdi\u011fim php linki http oldu\u011fundan, SSL k\u0131sm\u0131na ihtiya\u00e7 bulunmaz.<\/span><\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><strong>PHP dosyas\u0131n\u0131n i\u00e7eri\u011fi buradad\u0131r.<\/strong><\/span><br \/>\n<code><\/code><\/p>\n<p><!--?php &lt;\/p&gt; &lt;p&gt;\/\/ Check if we got the field from the user&lt;br ?--><\/p>\n<p>&lt;?php<\/p>\n<p>if (isset($_GET[&#8216;ut&#8217;]) ) {<\/p>\n<p>$unitime = $_GET[&#8216;ut&#8217;];<br \/>\n\/\/ $status= $_GET[&#8216;status&#8217;];<\/p>\n<p>date_default_timezone_set(&#8220;Europe\/istanbul&#8221;);<br \/>\n$t=$unitime;<br \/>\n\/\/$t=time();<br \/>\necho(date(&#8220;d-m-Y &#8220;,$t ));<br \/>\necho(date(&#8220;H:i:s O&#8221;,$t));<br \/>\n}<br \/>\n?&gt;<\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"color: #ff0000;\">Ayr\u0131ca Mit app inventor ile de \u00e7\u00f6z\u00fcm sa\u011flayabilirsiniz.<\/span><\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><strong>MIT app inventor<\/strong> <\/span>ile bir APK haz\u0131rlay\u0131p unixtime kodunu bluetooth ile telefonunuza g\u00f6nderip oradan \u00e7\u00f6z\u00fclm\u00fc\u015f de\u011ferini de sisteminize aktarabilirsiniz. Hatta <span style=\"color: #ff0000;\">EASYLCD_MOBILE_UNIXTIME1<\/span> program\u0131n\u0131 kullanarak bluetooth \u00fczerinden eski telefonlar\u0131n\u0131z\u0131 Hem <span style=\"color: #ff0000;\">LCD ekran hem de UNIXTIME<\/span> \u00e7evirici olarak kullanabilirsiniz. <strong>Sayfan\u0131n sa\u011f taraf\u0131ndaki kategorilerden EASYLCD_MOBILE se\u00e7erseniz,<\/strong> bu konuda yap\u0131lm\u0131\u015f \u00f6rnek \u00e7al\u0131\u015fmalar\u0131n yaz\u0131lar\u0131n\u0131 da g\u00f6rebilirsiniz.<br \/>\n<strong>Komut ise UNI1649842557<\/strong> dir. Bu komutu <span style=\"color: #ff0000;\">EASYLCD_MOBILE_UNIXTIME1<\/span><strong>\u00a0<\/strong>komutu ald\u0131\u011f\u0131nda, bu kodun kar\u015f\u0131l\u0131\u011f\u0131nda tarih format\u0131nda size geri d\u00f6nd\u00fcr\u00fcr. Uygulamay\u0131 denemek i\u00e7in, PC den bluetooth ve REALTERM gibi bir program\u0131 kullan\u0131p, komutu g\u00f6nderebilirsiniz. \u0130llaki arduino ve bluetooth kullanmak zorunda de\u011filsiniz.<\/p>\n<p><span style=\"color: #ff6600;\">\u015eayet bana sadece \u00e7evirici yapmam i\u00e7in \u00f6rnek program ver derseniz<\/span>, size bu program\u0131 da veriyorum.<span style=\"color: #ff0000;\"> UNIXTIME_convert.aia<\/span> Bu program sadece \u00f6rnektir. ekranda verdi\u011finiz UNIXTIME kodunu tarih format\u0131na \u00e7evirir. <span style=\"color: #ff6600;\">Sizler bunu geli\u015ftirebilirsiniz.<\/span><\/p>\n<p><strong>Ayr\u0131ca bu siteden<\/strong> de \u00e7evirme i\u015flemiyle birlikte tarihsel bilgilere ula\u015fabilirsiniz.<\/p>\n<p><a href=\"https:\/\/www.epochconverter.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.epochconverter.com\/<\/a><\/p>\n<p><a href=\"https:\/\/www.epochconverter.com\/days\/2022\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.epochconverter.com\/days\/2022<\/a><\/p>\n<p><a href=\"https:\/\/www.epochconverter.com\/weeks\/2022\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.epochconverter.com\/weeks\/2022<\/a><\/p>\n<p><span style=\"color: #ff6600;\">Birinci link<\/span> unixtime converter sitesi<br \/>\n<span style=\"color: #ff6600;\">ikinci site<\/span> yine bu siteye ba\u011fl\u0131 g\u00fcn tablosu.<br \/>\n<span style=\"color: #ff6600;\">\u00fc\u00e7\u00fcnc\u00fc site<\/span> ise ayn\u0131 siteye ba\u011fl\u0131 Hafta tablosudur.<br \/>\nBunlar\u0131 inceledi\u011finizde hangi g\u00fcn hangi hafta ayr\u0131ca yeni y\u0131la sarkan hafta ve g\u00fcn hangisi, bunlar\u0131 bulabilirsiniz.<\/p>\n<p><strong><span style=\"color: #ff0000;\">T\u00fcm programlara ve dok\u00fcmanlara<\/span><\/strong> <strong><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/tree\/main\/UNIXTIME_CONVERTER\" target=\"_blank\" rel=\"noopener noreferrer\">buradan ula\u015fabilirsiniz<\/a><\/strong>.<\/p>\n<p><strong><span style=\"color: #ff0000;\">Proteus \u00fczerinde de deneyebilirsiniz.\u00a0<\/span><\/strong><br \/>\nArduino ile deneme yapabilece\u011finiz gibi sizlerde <span style=\"color: #ff6600;\">proteus \u00fczerinde arduino kullanarak denemelerinizi yapabilirsiniz.<\/span> Github \u00fczerinden proteus dosyas\u0131n\u0131 indirip arduino program\u0131n\u0131 deneyebilirsiniz. Verdi\u011fim proteus dosyas\u0131 eski versiyon oldu\u011fundan t\u00fcm proteuslarda \u00e7al\u0131\u015facakt\u0131r. Proteus program\u0131nda arduino program\u0131n\u0131n yolunu g\u00f6stermeniz gerek hepsi bu. Arduino ide de HEX dosyas\u0131n\u0131 \u00e7\u0131kar\u0131p proteusta kullanmak istedi\u011finizde, men\u00fclerden TASLAK k\u0131sm\u0131n\u0131 se\u00e7ip, i\u00e7indeki DERLENM\u0130\u015e B\u0130NARY&#8217;\u0130 \u00c7IKAR se\u00e7ene\u011fini se\u00e7in. Hex dosyas\u0131n\u0131 ise proteustaki arduinoya tan\u0131mlay\u0131n hepsi bu.<\/p>\n<p><iframe title=\"YouTube video player\" data-src=\"https:\/\/www.youtube.com\/embed\/8rgoIJou6hA\" width=\"900\" height=\"506\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><br \/>\n&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UNIXTIME dedi\u011fimiz 10 karakterli saniye cinsinden bir say\u0131y\u0131, bildi\u011fimiz tarih format\u0131na \u00e7evirmek i\u00e7in bir d\u00f6n\u00fc\u015f\u00fcm yapmam\u0131z gerek. ( 10 karakterli sadece saniye cinsinden say\u0131d\u0131r. \u015eayet milisaniye olarak yazarsan\u0131z buna 3&#8230; <\/p>\n","protected":false},"author":1,"featured_media":2286,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,12,14,7,24,5,39],"tags":[],"class_list":["post-2280","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino_pic_digerleri","category-pcprog","category-easylcd","category-esp","category-mit-app-inventor-2","category-raspi","category-website_kur"],"_links":{"self":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/comments?post=2280"}],"version-history":[{"count":3,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2280\/revisions"}],"predecessor-version":[{"id":2570,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2280\/revisions\/2570"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media\/2286"}],"wp:attachment":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media?parent=2280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/categories?post=2280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/tags?post=2280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}