<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TDateTime arşivleri - Keşif Ruhu</title>
	<atom:link href="https://www.kesifruhu.com/tag/tdatetime/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kesifruhu.com/tag/tdatetime/</link>
	<description>Keşfet, Deneyimle, Paylaş</description>
	<lastBuildDate>Sun, 20 Apr 2025 19:29:26 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://www.kesifruhu.com/wp-content/uploads/2024/09/siteico-150x150.png</url>
	<title>TDateTime arşivleri - Keşif Ruhu</title>
	<link>https://www.kesifruhu.com/tag/tdatetime/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>10. Tarih ve Saat İşlemleri (TDateTime Kullanımı)</title>
		<link>https://www.kesifruhu.com/yazilim/10-tarih-ve-saat-islemleri-tdatetime-kullanimi/</link>
					<comments>https://www.kesifruhu.com/yazilim/10-tarih-ve-saat-islemleri-tdatetime-kullanimi/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Sun, 20 Apr 2025 19:29:24 +0000</pubDate>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Delphi Programlama]]></category>
		<category><![CDATA[Saat İşlemleri]]></category>
		<category><![CDATA[Tarih İşlemleri]]></category>
		<category><![CDATA[TDateTime]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=545</guid>

					<description><![CDATA[<p>10. Tarih ve Saat İşlemleri (TDateTime Kullanımı) Delphi programlama dilinde tarih ve saat işlemleri, finansal uygulamalardan, log kayıtlarına, randevu sistemlerinden, oyun geliştirmeye kadar birçok alanda <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/10-tarih-ve-saat-islemleri-tdatetime-kullanimi/" title="10. Tarih ve Saat İşlemleri (TDateTime Kullanımı)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/10-tarih-ve-saat-islemleri-tdatetime-kullanimi/">10. Tarih ve Saat İşlemleri (TDateTime Kullanımı)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/2388570/pexels-photo-2388570.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">10. Tarih ve Saat İşlemleri (TDateTime Kullanımı)</h1>



<p>Delphi programlama dilinde tarih ve saat işlemleri, finansal uygulamalardan, log kayıtlarına, randevu sistemlerinden, oyun geliştirmeye kadar birçok alanda kritik bir rol oynar. Delphi, tarih ve saat bilgilerini saklamak ve işlemek için <strong>TDateTime</strong> veri tipini sunar. Bu makalede, TDateTime&#8217;ın ne olduğunu, nasıl kullanıldığını ve Delphi&#8217;de tarih ve saatlerle nasıl etkili bir şekilde çalışabileceğinizi ayrıntılı olarak inceleyeceğiz.</p>



<h2 class="wp-block-heading">TDateTime Veri Tipi Nedir?</h2>



<p><strong>TDateTime</strong>, Delphi&#8217;de tarih ve saat bilgilerini temsil etmek için kullanılan bir kayan noktalı sayı veri tipidir (Double). Tamsayı kısmı tarihi, ondalık kısmı ise günü temsil eder. Bu yapı, tarih ve saat bilgilerini tek bir değişken içinde saklamayı ve bu bilgiler üzerinde matematiksel işlemler yapmayı kolaylaştırır.</p>



<p>TDateTime, 30 Aralık 1899 saat 12:00&#8217;ı sıfır (0) olarak kabul eder. Bu tarihten sonraki her gün için tamsayı kısmı 1 artar. Örneğin, 31 Aralık 1899 saat 12:00, 1.0 değerine karşılık gelir. Saati temsil eden ondalık kısım ise, günün kesirsel bir parçasını ifade eder. Örneğin, öğlen 12:00 0.5 değerine, akşam 18:00 ise 0.75 değerine karşılık gelir.</p>



<h2 class="wp-block-heading">TDateTime ile Çalışmak</h2>



<h3 class="wp-block-heading">TDateTime Değerleri Oluşturma</h3>



<p>Delphi&#8217;de TDateTime değerleri oluşturmanın birkaç yolu vardır:</p>



<ul class="wp-block-list">
<li><strong>Date ve Time Fonksiyonlarını Kullanmak:</strong> Date fonksiyonu geçerli tarihi, Time fonksiyonu ise geçerli saati TDateTime türünde döndürür.</li>



<li><strong>EncodeDate ve EncodeTime Fonksiyonlarını Kullanmak:</strong> Bu fonksiyonlar, sırasıyla yıl, ay, gün ve saat, dakika, saniye bilgilerini alarak bir TDateTime değeri oluşturur.</li>



<li><strong>StrToDateTime Fonksiyonunu Kullanmak:</strong> Bir string ifadeyi TDateTime türüne dönüştürmek için kullanılır.</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  TarihSaat: TDateTime;
begin
  // Geçerli tarihi alır
  TarihSaat := Date;

  // Geçerli saati alır
  TarihSaat := Time;

  // Belirli bir tarih ve saat oluşturur
  TarihSaat := EncodeDate(2024, 10, 27) + EncodeTime(14, 30, 0);

  // String'den TDateTime'a dönüştürme
  TarihSaat := StrToDateTime('27.10.2024 14:30:00');
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  TarihSaat: TDateTime;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Geçerli tarihi alır</span></span>
<span class="line"><span style="color: #D4D4D4">  TarihSaat := Date;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Geçerli saati alır</span></span>
<span class="line"><span style="color: #D4D4D4">  TarihSaat := Time;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Belirli bir tarih ve saat oluşturur</span></span>
<span class="line"><span style="color: #D4D4D4">  TarihSaat := EncodeDate(</span><span style="color: #B5CEA8">2024</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">27</span><span style="color: #D4D4D4">) + EncodeTime(</span><span style="color: #B5CEA8">14</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// String&#39;den TDateTime&#39;a dönüştürme</span></span>
<span class="line"><span style="color: #D4D4D4">  TarihSaat := StrToDateTime(</span><span style="color: #CE9178">&#39;27.10.2024 14:30:00&#39;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<h3 class="wp-block-heading">TDateTime Değerlerini Ayrıştırma</h3>



<p>Bir TDateTime değerinden tarih ve saat bilgilerini ayrı ayrı elde etmek için aşağıdaki fonksiyonlar kullanılabilir:</p>



<ul class="wp-block-list">
<li><strong>DecodeDate:</strong> Bir TDateTime değerinden yıl, ay ve gün bilgilerini ayrıştırır.</li>



<li><strong>DecodeTime:</strong> Bir TDateTime değerinden saat, dakika, saniye ve milisaniye bilgilerini ayrıştırır.</li>



<li><strong>YearOf, MonthOf, DayOf, HourOf, MinuteOf, SecondOf, MilliSecondOf:</strong> Bu fonksiyonlar da bir TDateTime değerinden ilgili bileşenleri ayrıştırmak için kullanılabilir.</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  TarihSaat: TDateTime;
  Yil, Ay, Gun, Saat, Dakika, Saniye, Milisaniye: Word;
begin
  TarihSaat := Now; // Şu anki tarih ve saati alır

  // DecodeDate ile tarih bileşenlerini ayrıştırma
  DecodeDate(TarihSaat, Yil, Ay, Gun);

  // DecodeTime ile saat bileşenlerini ayrıştırma
  DecodeTime(TarihSaat, Saat, Dakika, Saniye, Milisaniye);

  // YearOf, MonthOf, DayOf fonksiyonlarını kullanma
  Yil := YearOf(TarihSaat);
  Ay  := MonthOf(TarihSaat);
  Gun := DayOf(TarihSaat);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  TarihSaat: TDateTime;</span></span>
<span class="line"><span style="color: #D4D4D4">  Yil, Ay, Gun, Saat, Dakika, Saniye, Milisaniye: </span><span style="color: #569CD6">Word</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  TarihSaat := Now; </span><span style="color: #6A9955">// Şu anki tarih ve saati alır</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// DecodeDate ile tarih bileşenlerini ayrıştırma</span></span>
<span class="line"><span style="color: #D4D4D4">  DecodeDate(TarihSaat, Yil, Ay, Gun);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// DecodeTime ile saat bileşenlerini ayrıştırma</span></span>
<span class="line"><span style="color: #D4D4D4">  DecodeTime(TarihSaat, Saat, Dakika, Saniye, Milisaniye);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// YearOf, MonthOf, DayOf fonksiyonlarını kullanma</span></span>
<span class="line"><span style="color: #D4D4D4">  Yil := YearOf(TarihSaat);</span></span>
<span class="line"><span style="color: #D4D4D4">  Ay  := MonthOf(TarihSaat);</span></span>
<span class="line"><span style="color: #D4D4D4">  Gun := DayOf(TarihSaat);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<h3 class="wp-block-heading">TDateTime ile Aritmetik İşlemler</h3>



<p>TDateTime, tarih ve saatler üzerinde aritmetik işlemler yapmayı kolaylaştırır. Örneğin, iki tarih arasındaki farkı hesaplayabilir, bir tarihe gün ekleyebilir veya çıkarabilirsiniz.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  Tarih1, Tarih2: TDateTime;
  Fark: Double;
begin
  Tarih1 := EncodeDate(2024, 10, 27);
  Tarih2 := EncodeDate(2024, 10, 30);

  // İki tarih arasındaki farkı gün cinsinden hesaplar
  Fark := Tarih2 - Tarih1;

  // Bir tarihe gün ekleme
  Tarih1 := Tarih1 + 7; // Tarih1'e 7 gün ekler
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  Tarih1, Tarih2: TDateTime;</span></span>
<span class="line"><span style="color: #D4D4D4">  Fark: </span><span style="color: #569CD6">Double</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  Tarih1 := EncodeDate(</span><span style="color: #B5CEA8">2024</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">27</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  Tarih2 := EncodeDate(</span><span style="color: #B5CEA8">2024</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// İki tarih arasındaki farkı gün cinsinden hesaplar</span></span>
<span class="line"><span style="color: #D4D4D4">  Fark := Tarih2 - Tarih1;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Bir tarihe gün ekleme</span></span>
<span class="line"><span style="color: #D4D4D4">  Tarih1 := Tarih1 + </span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Tarih1&#39;e 7 gün ekler</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<h2 class="wp-block-heading">Tarih ve Saat Biçimlendirme</h2>



<p>TDateTime değerlerini kullanıcıya daha anlaşılır bir şekilde sunmak için biçimlendirme önemlidir. Delphi, tarih ve saatleri biçimlendirmek için <strong>FormatDateTime</strong> fonksiyonunu sunar. Bu fonksiyon, bir TDateTime değeri ve bir biçim stringi alır ve biçimlendirilmiş bir string döndürür.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
var
  TarihSaat: TDateTime;
  BicimlendirilmisTarih: string;
begin
  TarihSaat := Now;

  // Tarihi belirli bir formatta biçimlendirme
  BicimlendirilmisTarih := FormatDateTime('dd.mm.yyyy hh:nn:ss', TarihSaat);

  // Farklı bir formatta biçimlendirme
  BicimlendirilmisTarih := FormatDateTime('yyyy-mm-dd', TarihSaat);
end;
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  TarihSaat: TDateTime;</span></span>
<span class="line"><span style="color: #D4D4D4">  BicimlendirilmisTarih: </span><span style="color: #569CD6">string</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  TarihSaat := Now;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Tarihi belirli bir formatta biçimlendirme</span></span>
<span class="line"><span style="color: #D4D4D4">  BicimlendirilmisTarih := FormatDateTime(</span><span style="color: #CE9178">&#39;dd.mm.yyyy hh:nn:ss&#39;</span><span style="color: #D4D4D4">, TarihSaat);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Farklı bir formatta biçimlendirme</span></span>
<span class="line"><span style="color: #D4D4D4">  BicimlendirilmisTarih := FormatDateTime(</span><span style="color: #CE9178">&#39;yyyy-mm-dd&#39;</span><span style="color: #D4D4D4">, TarihSaat);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span></code></pre></div>



<p>FormatDateTime fonksiyonunda kullanılabilecek bazı yaygın biçim belirteçleri şunlardır:</p>



<ul class="wp-block-list">
<li><code>dd</code>: Gün (01-31)</li>



<li><code>mm</code>: Ay (01-12)</li>



<li><code>yyyy</code>: Yıl (dört haneli)</li>



<li><code>yy</code>: Yıl (iki haneli)</li>



<li><code>hh</code>: Saat (00-23)</li>



<li><code>nn</code>: Dakika (00-59)</li>



<li><code>ss</code>: Saniye (00-59)</li>



<li><code>zzz</code>: Milisaniye (000-999)</li>



<li><code>ddd</code>: Haftanın günü (kısaltılmış)</li>



<li><code>dddd</code>: Haftanın günü (tam)</li>



<li><code>mmm</code>: Ay (kısaltılmış)</li>



<li><code>mmmm</code>: Ay (tam)</li>
</ul>



<h2 class="wp-block-heading">Örnek Uygulama: Kronometre</h2>



<p>Aşağıdaki örnek, Delphi&#8217;de basit bir kronometre uygulamasının nasıl oluşturulabileceğini göstermektedir. Bu uygulama, <strong>Timer</strong> bileşenini ve TDateTime&#8217;ı kullanarak geçen süreyi hesaplar.</p>



<p>Bu örneği çalıştırmak için öncelikle Delphi&#8217;de yeni bir VCL Forms Application oluşturun. Form üzerine bir adet <strong>TButton</strong>, bir adet <strong>TLabel</strong> ve bir adet <strong>TTimer</strong> bileşeni ekleyin. Timer bileşeninin Enabled özelliğini False olarak ayarlayın.</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
    StartTime: TDateTime;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Timer1.Enabled then
  begin
    Timer1.Enabled := False;
    Button1.Caption := 'Başlat';
  end
  else
  begin
    StartTime := Now;
    Timer1.Enabled := True;
    Button1.Caption := 'Durdur';
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  ElapsedTime: TDateTime;
begin
  ElapsedTime := Now - StartTime;
  Label1.Caption := FormatDateTime('nn:ss:zzz', ElapsedTime);
end;

end.
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">unit</span><span style="color: #D4D4D4"> Unit1;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">interface</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">uses</span></span>
<span class="line"><span style="color: #D4D4D4">  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,</span></span>
<span class="line"><span style="color: #D4D4D4">  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">type</span></span>
<span class="line"><span style="color: #D4D4D4">  TForm1 = </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4">(TForm)</span></span>
<span class="line"><span style="color: #D4D4D4">    Button1: TButton;</span></span>
<span class="line"><span style="color: #D4D4D4">    Label1: TLabel;</span></span>
<span class="line"><span style="color: #D4D4D4">    Timer1: TTimer;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Button1Click</span><span style="color: #D4D4D4">(Sender: TObject);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Timer1Timer</span><span style="color: #D4D4D4">(Sender: TObject);</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">private</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">{ Private declarations }</span></span>
<span class="line"><span style="color: #D4D4D4">    StartTime: TDateTime;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">public</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">{ Public declarations }</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  Form1: TForm1;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">implementation</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D16969">{$R *.dfm}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">TForm1.Button1Click</span><span style="color: #D4D4D4">(Sender: TObject);</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">if</span><span style="color: #D4D4D4"> Timer1.Enabled </span><span style="color: #569CD6">then</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">    Timer1.Enabled := </span><span style="color: #569CD6">False</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Button1.Caption := </span><span style="color: #CE9178">&#39;Başlat&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">else</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">    StartTime := Now;</span></span>
<span class="line"><span style="color: #D4D4D4">    Timer1.Enabled := </span><span style="color: #569CD6">True</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    Button1.Caption := </span><span style="color: #CE9178">&#39;Durdur&#39;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">procedure</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">TForm1.Timer1Timer</span><span style="color: #D4D4D4">(Sender: TObject);</span></span>
<span class="line"><span style="color: #569CD6">var</span></span>
<span class="line"><span style="color: #D4D4D4">  ElapsedTime: TDateTime;</span></span>
<span class="line"><span style="color: #569CD6">begin</span></span>
<span class="line"><span style="color: #D4D4D4">  ElapsedTime := Now - StartTime;</span></span>
<span class="line"><span style="color: #D4D4D4">  Label1.Caption := FormatDateTime(</span><span style="color: #CE9178">&#39;nn:ss:zzz&#39;</span><span style="color: #D4D4D4">, ElapsedTime);</span></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">end</span><span style="color: #D4D4D4">.</span></span>
<span class="line"></span></code></pre></div>



<p>Formun <code>.dfm</code> dosyası (isteğe bağlı):</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Pascal</span><span role="button" tabindex="0" data-code="
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Kronometre'
  ClientHeight = 150
  ClientWidth = 300
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 112
    Top = 24
    Width = 75
    Height = 25
    Caption = 'Başlat'
    TabOrder = 0
    OnClick = Button1Click
  end
  object Label1: TLabel
    Left = 120
    Top = 72
    Width = 58
    Height = 13
    Caption = '00:00:000'
    TabOrder = 1
  end
  object Timer1: TTimer
    Interval = 1
    OnTimer = Timer1Timer
  end
end
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">object</span><span style="color: #D4D4D4"> Form1: TForm1</span></span>
<span class="line"><span style="color: #D4D4D4">  Left = </span><span style="color: #B5CEA8">0</span></span>
<span class="line"><span style="color: #D4D4D4">  Top = </span><span style="color: #B5CEA8">0</span></span>
<span class="line"><span style="color: #D4D4D4">  Caption = </span><span style="color: #CE9178">&#39;Kronometre&#39;</span></span>
<span class="line"><span style="color: #D4D4D4">  ClientHeight = </span><span style="color: #B5CEA8">150</span></span>
<span class="line"><span style="color: #D4D4D4">  ClientWidth = </span><span style="color: #B5CEA8">300</span></span>
<span class="line"><span style="color: #D4D4D4">  Color = clBtnFace</span></span>
<span class="line"><span style="color: #D4D4D4">  Font.Charset = DEFAULT_CHARSET</span></span>
<span class="line"><span style="color: #D4D4D4">  Font.Color = clWindowText</span></span>
<span class="line"><span style="color: #D4D4D4">  Font.Height = -</span><span style="color: #B5CEA8">11</span></span>
<span class="line"><span style="color: #D4D4D4">  Font.</span><span style="color: #569CD6">Name</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&#39;Tahoma&#39;</span></span>
<span class="line"><span style="color: #D4D4D4">  Font.Style = []</span></span>
<span class="line"><span style="color: #D4D4D4">  OldCreateOrder = </span><span style="color: #569CD6">False</span></span>
<span class="line"><span style="color: #D4D4D4">  PixelsPerInch = </span><span style="color: #B5CEA8">96</span></span>
<span class="line"><span style="color: #D4D4D4">  TextHeight = </span><span style="color: #B5CEA8">13</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">object</span><span style="color: #D4D4D4"> Button1: TButton</span></span>
<span class="line"><span style="color: #D4D4D4">    Left = </span><span style="color: #B5CEA8">112</span></span>
<span class="line"><span style="color: #D4D4D4">    Top = </span><span style="color: #B5CEA8">24</span></span>
<span class="line"><span style="color: #D4D4D4">    Width = </span><span style="color: #B5CEA8">75</span></span>
<span class="line"><span style="color: #D4D4D4">    Height = </span><span style="color: #B5CEA8">25</span></span>
<span class="line"><span style="color: #D4D4D4">    Caption = </span><span style="color: #CE9178">&#39;Başlat&#39;</span></span>
<span class="line"><span style="color: #D4D4D4">    TabOrder = </span><span style="color: #B5CEA8">0</span></span>
<span class="line"><span style="color: #D4D4D4">    OnClick = Button1Click</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">object</span><span style="color: #D4D4D4"> Label1: TLabel</span></span>
<span class="line"><span style="color: #D4D4D4">    Left = </span><span style="color: #B5CEA8">120</span></span>
<span class="line"><span style="color: #D4D4D4">    Top = </span><span style="color: #B5CEA8">72</span></span>
<span class="line"><span style="color: #D4D4D4">    Width = </span><span style="color: #B5CEA8">58</span></span>
<span class="line"><span style="color: #D4D4D4">    Height = </span><span style="color: #B5CEA8">13</span></span>
<span class="line"><span style="color: #D4D4D4">    Caption = </span><span style="color: #CE9178">&#39;00:00:000&#39;</span></span>
<span class="line"><span style="color: #D4D4D4">    TabOrder = </span><span style="color: #B5CEA8">1</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">object</span><span style="color: #D4D4D4"> Timer1: TTimer</span></span>
<span class="line"><span style="color: #D4D4D4">    Interval = </span><span style="color: #B5CEA8">1</span></span>
<span class="line"><span style="color: #D4D4D4">    OnTimer = Timer1Timer</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">end</span></span>
<span class="line"><span style="color: #569CD6">end</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, Timer bileşeninin Interval özelliği 1 milisaniyeye ayarlanmıştır. Bu, Timer&#8217;ın her milisaniyede bir Timer1Timer olayını tetiklemesini sağlar. Timer1Timer olayında, geçen süre hesaplanır ve Label1 bileşeninde görüntülenir.</p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Delphi&#8217;de <strong>TDateTime</strong> veri tipi, tarih ve saatlerle çalışmayı son derece kolaylaştırır. Bu makalede, TDateTime&#8217;ın ne olduğunu, nasıl kullanıldığını ve tarih/saat bilgilerini nasıl biçimlendirebileceğinizi öğrendiniz. Ayrıca, basit bir kronometre uygulaması örneğiyle TDateTime&#8217;ın pratik kullanımını gördünüz. Bu bilgilerle, Delphi projelerinizde tarih ve saat işlemlerini etkili bir şekilde yönetebilirsiniz.</p>
<p><a href="https://www.kesifruhu.com/yazilim/10-tarih-ve-saat-islemleri-tdatetime-kullanimi/">10. Tarih ve Saat İşlemleri (TDateTime Kullanımı)</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/10-tarih-ve-saat-islemleri-tdatetime-kullanimi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
