Bu ne kadar önceydi?


9

Bu ne kadar önceydi?

Kurallar

  • Her başvuru tam bir program olmalıdır.
  • Program, girdiyi formda virgülle ayrılmış iki tarih olarak almalı YYYY-MM-DDve ikinci tarihten bu yana geçen gün sayısını bugün ilk tarihmiş gibi STDOUT'a yazdırmalıdır (ikinci tarih gelecekte olacaksa, negatif sayı) artı isteğe bağlı bir son satırsonu ve başka bir şey yok. Her iki tarihin de Gregoryen takviminde olduğunu varsayın.
  • Program STDERR'a hiçbir şey yazmamalıdır.

    Gönderinin test edilebilmesi için bir tercüman olması gerektiğini unutmayın.

  • Başvurular , genellikle (ancak zorunlu olarak değil) uygun bir UTF-8 kodunda bayt cinsinden puanlanır . Bazı diller gibi Klasörler , skor biraz zor olan - Şüphe halinde, üzerinde isteyiniz Meta .
  • Bu , en kısa kod kazanır

    Örnekler

Giriş:

2015-12-03,2015-12-01

Çıktı:

2

Giriş:

2015-12-03,2014-12-01

Çıktı:

367

Giriş:

2015-12-03,2013-12-03

Çıktı:

730

Snippet

Bu yazının altındaki Yığın Parçacığı, a) büyük afiş olarak ve b) her dil için kazananların listesi olarak cevaplardan katalog oluşturur.

Yanıtınızın göründüğünden emin olmak için lütfen aşağıdaki Markdown şablonunu kullanarak yanıtınızı bir başlıkla başlatın:

## Language Name, N bytes

Ngönderiminizin büyüklüğü nerede . Puanınızı artırmak varsa, olabilir onları içinden vurarak, başlığa eski hesapları tutmak. Örneğin:

## Ruby, <s>104</s> <s>101</s> 96 bytes

Başlığınıza birden fazla sayı eklemek istiyorsanız (örneğin, puanınız iki dosyanın toplamı olduğu veya yorumlayıcı bayrak cezalarını ayrı olarak listelemek istediğiniz için), gerçek puanın başlıktaki son sayı olduğundan emin olun :

## Perl, 43 + 2 (-p flag) = 45 bytes

Dil adını, daha sonra snippet'te görünecek bir bağlantı da yapabilirsiniz:

## [><>](http://esolangs.org/wiki/Fish), 121 bytes

var QUESTION_ID=65989,OVERRIDE_USER=46167;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?([\d.]+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>



1
Harici kütüphaneleri kullanma iznimiz var mı? Belirli bir ekosistemde yaygın olan ancak standart lib'in parçası olmayanlar? (Örneğin, teknik olarak harici bir kütüphane olmasına rağmen hiç kimse JDK'nın Tarih API'lerini değil, JodaTime'ı kullanmaz).
Ruslan

Her şeyin UTC kullandığını varsayıyorum, çünkü saat dilimimde 2015-11-01T00: 00: 00 ve 2015-11-02T00: 00: 00, gün ışığından yararlanma nedeniyle sadece ~ 0.96 gün (23 saat) idi. Kesirli günleri yuvarlama hakkında hiçbir şey söylemediniz, bu yüzden soruda bunu açıklığa kavuşturmak isteyebilirsiniz. (Bence çok sayıda datetime kütüphanesi yerel saati kullanmak için varsayılan.)
ThisSuitIsBlackNot

1
Artık yıllar için durum nedir?
TheCoffeeCup

@TheCoffeeCup ele alınmalıdır
ev3commander

Yanıtlar:


1

TeaScript , 24 bayt

((a=D.parse)×-a(y©/864e5

Date.parseTarihi ayrıştırmak için kullanır , sonra farkı alır ve böler.

Çevrimiçi deneyin

Açıklama && Ungolfed

((a=D.parse)(x)-a(y))/864e5

               // Implicit: x is first date
               // y is second date
(
 (a=D.parse)   // Assign Date.parse to 'a'
 (x)           // Run Date.parse with first date
 -a(y)         // Subtract Date.parse run with second date
)/864e5        // Divide by 86,400,000

13

Bash + GNU yardımcı programları, 37

tr , \\n|date -f- +%s|dc -e??-86400/p

trvirgülün yerine yeni bir satır gelir. datesatırsonu ayrılmış tarihleri ​​okur ve aktarılan tarihin temsil ettiği Unix döneminden bu yana geçen saniye sayısını verir. Bu sayılar daha sonra dcyığına konur . Sonra basit bir çıkarma ve bölme meselesi (24 * 60 * 60). Bu durumda, dcyığın tabanlı RPN aritmetik değerlendirmesi , çoğunlukla bölme öncesi çıkarma işleminin parantez gerektirmediği için daha iyi bcveya $( )bash'dan daha iyidir .

STDIN üzerinden giriş:

$ echo 2015-12-3,2015-12-1 | ./longago.sh
2
$ echo 2015-12-3,2014-12-1 | ./longago.sh
367
$ echo 2015-12-3,2013-12-3 | ./longago.sh
730
$ 

4

Julia, 67 bayt

print(Int(-diff(map(i->Date(i,"y-m-d"),split(readline(),",")))[1]))

Ungolfed:

# Read a line from STDIN
r = readline()

# Split it into two character dates
s = split(r, ",")

# Convert each to a Date object
d = map(i -> Date(i, "y-m-d"), s)

# Compute the difference in dates (first-second)
f = diff(d)[1]

# Convert the Base.Date.Day object to an integer
# Negate to get second-first
i = Int(-f)

# Print to STDOUT
print(i)

Bunun yerine birkaç bayt kaydetmek için -diff(d)[1]kullanabilirsiniz -(d...). Bu arada hangi Julia sürümünü kullanıyorsun? 1.2'de, açıkça içe aktarmak zorunda kaldım Datesve günleri böyle tamsayılara dönüştüremiyorum.
Simeon Schaub

Bu cevap 2015 yılında yayınlanmıştır, bu yüzden muhtemelen en geç Julia 0.3 veya 0.4 idi.
Alex A.

4

Scala, 166 139 , 120 116 92 bayt

print(args(0).replace('-','/').split(",").map(java.util.Date.parse(_)/86400000).reduce(_-_))

Kullanımı: scala [source filename].scala [date1],[date2]

Not: Üçüncü sürüm (120 bayt) ve üzeri, kullanımdan kaldırılmış bir API kullanır. Hala derleniyor ve iyi çalışıyor. Not2: Büyük tavsiye için aşağıdaki yorumculara teşekkürler!


Sondaki yeni satır isteğe bağlı olduğundan, printyerine kullanabilirsiniz println.
Marth

Parçayı kaldırabilir Object A extends App{...}ve farklı şekilde kaydedip ;) a.scalaile çalıştırabilirsiniz scala a.scala 2015-12-3,2015-12-1;)
Martijn

@MartijnR Genius! Teşekkürler!!
Ruslan

3

Yakut, 69 66 65 57 55 bayt

a=->l{Time.gm *$F[l,3]};p (a[0]-a[3]).div 86400

Komut satırı seçeneği için 47 bayt + 8 bayt. Dane Anderson sayesinde 2 bayt kurtardı.

57 bayt

p (Time.gm(*$F[0,3])-Time.gm(*$F[3,3])).div 86400

Komut satırı seçeneği için 49 bayt kodu + 8 bayt. Yapıtın önerisiyle 8 bayt kurtardı.

65 bayt

a,b=gets.split(?,).map{|i|Time.gm *i.split(?-)};p (a-b).div 86400

66 bayt

a,b=gets.split(?,).map{|i|Time.new *i.split(?-)};p (a-b).div 86400

69 bayt

a,b=gets.split(',').map{|i|Time.new *i.split('-')};p (a-b).to_i/86400

Çevrimiçi test edin

Ungolfed

a = -> l {
  Time.gm *$F[l,3]       # Anonymous method to parse time
}
p (a[0]-a[3]).div 86400  # Subtracts two times and divides by 24*60*60

Kullanımı:

ruby -naF[,-] -e 'a=->l{Time.gm *$F[l,3]};p (a[0]-a[3]).div 86400' <<< '2015-12-3,2013-12-3'

=> 730

Üç küçük karakter: ','?,, '-'?-, to_i/div .
manatwork

Bazı komut satırı seçeneklerini kullanmak daha fazla azaltabilir: ruby -naF[,-] -e 'p (Time.new(*$F[0,3])-Time.new(*$F[3,3])).div 86400' <<< '2015-10-11,2015-07-11'saydığım 59 karakterdir.
manatwork

@manatwork Buna izin verilip verilmediğinden emin değilim.
Vasu Adari

Kural, kodu geçmek için gereken minimum zorunluluktur (Ruby durumunda -e) ücretsizdir, diğer her şey sayıma dahil edilmelidir. Her şeyin tam olarak ne olduğu konusunda farklı görüşler var. Örneğin, bazı üyeler seçenek ayırıcı boşluk karakteri ve parametre değerleri etrafında tırnak işareti içerir. Benim görüşüme göre sadece yorumlayıcıya gerçekten aktarılan şey sayılmalıdır, kabuk sözdiziminin gerektirdiği ekstra karakterler değil. Ancak seçeneklerin kullanılmasına izin vermemek için ortaya çıkan herhangi bir sesi hatırlayamıyorum.
manatwork

2
neredeyse bahsetmeye değmez, ancak tekrarlanan kodu bir proc'a taşıyarak bir bayt tıraş edebilirsiniz:t=->l{Time.gm(*$F[l,3])};p (t[0]-t[3]).div 86400
Alexis Andersen

2

Japt , 41 bayt

A=K$.parse)(($B=Uq',  g0)-$A($Bg1))/864e5

Şimdiye kadar bu tüm değişkenler $ve parantez gerçekten bayt sayısını öldürmek olarak alabilirim en iyisidir .

Çevrimiçi deneyin

açıklama

             // Implicit: U is set to input
A=K$.parse)  // Set variable A to date parsing function
(($B=Uq',    // Set B to input split by ,
  g0)        // Get the first date and parse
-            // Subtract...
$A(          // Parse this date...
   $Bg1      // Get's second date
))/864e5     // Divides by 86,400,000

2

MATLAB, 41 31 bayt

disp(-diff(datenum(input(''))))
{'2015-12-03', '2014-12-22'}
   346  

Giriş, virgülle ayrılmış bir hücre dizisi olmalıdır. datenumgirdi hücresini zaman damgasıyla 2x1 sayısal diziye dönüştürür. diffikisi arasındaki farkı alır.


Eski çözüm, 41 bayt :

disp(-diff(datenum(strsplit(input('')))))

Giriş virgülle ayrılmış bir dize olmalıdır:

disp(-diff(datenum(strsplit(input('')))))
'2015-12-03, 2014-12-22'
   346

Programlamanın ilginç yolları. Bu, MATLAB'ın veri türleri arasında örtülü olarak yayınlanması nedeniyle işe yarar.

'Den çıktı strsplit(input(''))dizgilerin bir hücresidir. diffBir hücrede kullanamazsınız , ancak neyse ki, datenumçalışır ve aslında hücre girişini 2x1 sayısal bir diziye geri çevirerek diffkullanımını mümkün kılar.

İçinde çok sayıda sınırlayıcı belirtebilirsiniz strsplit, ancak virgül varsayılan değerdir. Ayrıca, varsayılan giriş datenumbiçimindedir yyyy-mm-dd. Bu nedenlerle, datenum (s, 'yyyy-aa-gg') gibi birçok özellikten kaçınılır ve çok fazla bayt tasarrufu sağlanır.

Kayıt için, bir işlevi kullanabilseydim bu 21 bayt olurdu:

@(s)-diff(datenum(s))

1
Farkı nasıl unutabilirim ... Gönderimi de silebilirsiniz, çünkü aslında aynıdır, ancak bunun yerine datenum'a 2 çağrı ile.
slvrbld

1
Giriş formatı için mükemmel seçim!
Luis Mendo

2

Javascript ES6, 63 bayt

Kromda test edilmiştir.

alert(((p=Date.parse)((a=prompt().split`,`)[0])-p(a[1]))/864e5)

sorudan virgülle ayrılmış
ev3commander

@ ev3commander Evet, düzelttim.
SuperJedi224

2
@ SuperJedi224 Ha. Firefox , Chrome mutlu bir şekilde ilerlerken Geçersiz tarih verir .
Conor O'Brien

5
Bu Chrome'a ​​özel olarak işaretliyorum çünkü yalnızca kromda çalışıyor gibi görünüyor. Bence uyumlu bir yöntem kullanmak Date.parseve onun -yerine/
Downgoat

1
Çoğu tarayıcı, tarihin doldurulmasını gerektirir, bu nedenle 2015-12-03çalışır ancak 2015-12-3çalışmaz (Chrome hariç). Soru, tarihin formatta olacağını söyler, bu YYYY-MM-DDyüzden giriş gerçekten çapraz tarayıcı uyumlu olacağını takip ederse, örnekler aksini söyler. Her neyse, 2 bayt kaydetmek Date.parseyerine kullanabilirsiniz new Date:alert((p((a=prompt(p=Date.parse).split`,`)[0])-p(a[1]))/864e5)
user81655 8:15

2

PHP, 63 64 77 bayt

Klasik yaklaşımın OOP yaklaşımından daha kısa olduğu bulundu:

$x=fgetcsv(STDIN);$s=strtotime;echo($s($x[0])-$s($x[1]))/86400;

Virgülle ayrılmış dizgiyi okur STDIN.


Düz ileri OOP yolu ( 77 bayt ):

$x=fgetcsv(STDIN);echo(new DateTime($x[0]))->diff(new DateTime($x[1]))->days;

Düzenlemeler

  • Bunun yerine kullanarak 13 bayt kaydedildi .strtotimeDateTime
  • Bir değişkende saklanarak 1 bayt kaydedildistrtotime . Blackhole'a teşekkürler .

-3 bayt: atamaları parantez içinde ilk kullanımlarına taşıyın (her biri -1 bayt) ve <?=yerine kullanabilirsiniz echo.
Titus

1

VBA, 69 bayt

Function x(s)
g=Split(s, ",")
x=CDate(g(0))-CDate(g(1))
End Function

1

psql, 75 bayt

(74 karakter + 1 karakter komut satırı seçeneği)

\prompt i
select split_part(:'i',',',1)::date-split_part(:'i',',',2)::date

psqlPostgreSQL'in etkileşimli terminalidir. “Her başvuru tam bir program olmalıdır”. kural, kod girdinin kendisini okur.

Örnek çalışma:

bash-4.3$ psql -tf how-long-was-this.sql <<< '2015-12-3,2013-12-3'
      730

1

MATL, 5 bayt

iPYOd

Kullandığım dışında bu, Stewie Griffin cevabı aynıdır flipsonra diffyerine diffdaha sonra sonuç olumsuzlamaktadır.

İlgili Matlab fonksiyonları ile tam açıklama:

i   %// input(''), get input
P   %// flip, flips the array
YO  %// datenum, converts date string into an integer
d   %// diff, finds the difference between dates

2
Not: MATL sadece 12 Aralık'ta yayınlanırken, bu meydan okuma yayınlandıktan sonra, bu cevabı 9 Aralık'ta yayınlanmış derleyiciyle neredeyse aynı olan bir ön sürüm MATL derleyicisi kullanarak buldum, bu kod aynı.
David

2
Ayrıca, bu popüler Apple taşınabilir müzik cihazının hiçbir şekilde onaylanmamıştır: P
David

1
Kullanmış gerekirdi oiçin datenumfonksiyon: -d
Luis Mendo

Bu harika olurdu!
David

1
@ ev3commander PPCG'deki cevapların çoğu, özellikle 4 komutun yeterli olduğu durumlarda, diğer cevaplarla aynıdır.
David

1

PowerShell v2 +, 50 44 Bayt

$a,$b=$args-split','|%{date $_};($a-$b).Days

Girdi bağımsız değişkenini bir dize olarak alır, virgül üzerine böler, sonra dizelerimizi .NET datetime biçimine dönüştürmek için datekısa bir yerleşik takma ad aracılığıyla yönlendirir Get-Date. Bu iki tarih daha sonra eşzamanlı olarak $ave içine kaydedilir $b. Daha sonra ikincisini birinciden çıkarmak için bir aşırı yüklenmiş çıkarma operatörü kullanıyoruz ve çıktısını alıyoruz .Days.

TessellatingHeckler sayesinde 6 bayt golf .

PowerShell, Pash'in FOSS uygulaması PowerShell v0.5 civarında olduğundan, çevrimiçi olarak bir tercümanı bulunmadığından teknik olarak rekabet etmiyor . -splitKarmaşık .NET tarih işlevlerini bir kenara bırakıp desteklemiyor .


1

Excel, 25 bayt

=LEFT(A1,10)-RIGHT(A1,10)

Excel dizeleri otomatik olarak tarih olarak işler.


0

Jolf , 33 bayt

Yalnızca Chrome'da çalışır. Dil güncellemeleri son soru sorusundan dolayı rekabet etmiyor. Daha sonra daha ayrıntılı bir açıklama ekleyeceğim.

$S=$viGi', mDN~DH r}/m4SmeP"864"5

“Açıklama”

$S=$viGi', mDN~DH r}
$S=$                 sets S equal to
    viGi',           take string input and reassign it to the comma-split input
           mD      } map with this function 
             N~DH r  return the time of the date of H (element)

/m4SmeP"864"5
/             divide
 m4S           subtraction applied to S (S[0] - S[1])
    meP"864"5  and 864 * 10 ^ 5 (thanks to Super Jedi for his nice constant)
              implicit output

Başlığınıza "rakipsiz" i koymaya ne dersiniz?
ev3commander

0

MATLAB, 59 bayt

s=strsplit(input(''),',');disp(datenum(s{1})-datenum(s{2}))

Çok basit yaklaşım: giriş, komut penceresinden bir dize olarak verilmelidir. Daha sonra giriş dizesi bölünür ve tarihler arasındaki gün sayısı (ve başka hiçbir şey) seri tarih numaralarından hesaplanır. Ben iki kez datenum arama ihtiyacını önlemek için bir yol olduğundan eminim ...


0

Python 2, 109113 bayt

import datetime as d 
j=[d.date(*[int(k) for k in g.split('-')]) for g in raw_input().split(',')]
print j[0]-j[1]

0

T-SQL + SQLCMD, 51 bayt

PRINT DATEDIFF(D,RIGHT('$(i)',10),LEFT('$(i)',10))

SQL Server 2008R2 ile test edilmiştir. $ (İ), komut satırı bağımsız değişkeni olarak sağlanan girdiyle değiştirilir.

Örnek çalışma:

sqlcmd -i script.sql -v i="2015-12-08,2016-01-01"
-24

0

Mathematica, 61 bayt

Print@First[#-#2&@@DateObject/@InputString[]~StringSplit~","]

Temel tarih çıkarma.


0

Perl, np bayrakları için 91 86 + 2, 88 bayt

Tarih kullan :: Hesap qw (Delta_Days); ($ a, $ b) = bölünmüş (/, /); $ _ = Delta_Days (bölünmüş (/ - /, $ b), bölünmüş (/ - /, $ a))

use Date::Parse;$_=str2time((split(/,/,$_))[0])-str2time((split(/,/,$_))[1]);$_/=86400

Misal

$ echo 2015-12-3,2015-12-1 | perl -npe 'use Date::Parse;$_=str2time((split(/,/,$_))[0])-str2time((split(/,/,$_))[1]);$_/=86400'
2

0

jq, 50 bayt

(49 karakter kod + 1 karakter komut satırı seçeneği)

./","|map(.+"T0:0:0Z"|fromdate)|(.[0]-.[1])/86400

Örnek çalışma:

bash-4.3$ ~/bin/jq -R './","|map(.+"T0:0:0Z"|fromdate)|(.[0]-.[1])/86400' <<< '2015-12-3,2013-12-3'
730

Çevrimiçi test ( -RURL'den geçiş desteklenmez - bu nedenle girdi "2015-12-3,2013-12-3" dizesi olarak iletilir.)


0

Mathematica, 56 bayt

Print@#&@@-DateDifference@@InputString[]~StringSplit~","

Çoğu (tümü?) Tarih işlevi, dize girdilerini otomatik olarak tarihlere ayrıştırmaya çalışır.



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.