Kaydet (Commit) a9e06ca6 authored tarafından Ali GOREN's avatar Ali GOREN

deploy

üst
---
title: Moment.js Nedir?
---
# İçerik
[[toc]]
# Moment.js Nedir?
Moment.js tarih ve saatleri parçalamada, doğrulamada ve değiştirmede yardımcı bir JavaScript kütüphanesidir. Basit kurulumu ve kolay kullanımı nedeniyle geliştiriciler tarafından tercih edilmektedir.
## CDN Linkleri ile Kurulum
Kurulum CDN kullanarak tarayıcı üzerinden direkt gerçekleştirilebilir, moment.js sunucularından indirilebilir ya da farklı paket yöneticileri kullanılarak projeye dahil edilebilir.
### Moment.js Sunucu Linkleri
Bu linkleri production ortamında kullanmak yerine indirerek projenizde yerel olarak barındırabilirsiniz.
[moment.js 16.4k gz](https://momentjs.com/downloads/moment.min.js)
Aşağıda yer alan sürümde ayrıca yerelleştirme seçenekleri de yer almaktadır. Ay ve gün isimleri Türkçe olarak bu sürümde kullanılabilir.
[moment-with-locales.min.js 66.4k gz](https://momentjs.com/downloads/moment-with-locales.min.js)
### Moment.js CDN Linkleri
**jsDelivr**
Bu link ile jsDelivr üzerinden sisteminizde kullanım sağlayabilirsiniz.
[moment.min.js](https://cdn.jsdelivr.net/npm/moment@2.22.2/moment.min.js)
**cdnjs**
Bu link ile cdnjs üzerinden sisteminizde kullanım sağlayabilirsiniz.
[moment.min.js](https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js)
[moment-with-locales.min.js](https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js)
Bu linkleri bildiğiniz üzere sitenizin gerekli yerlerine eklemelisiniz. Örnek;
```html
<script src="moment.min.js"></script>
```
ya da
```html
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
```
## Paket Yöneticileri ile Kurulum
Aşağıdaki paket yöneticileri ile kurulumlar da desteklenmektedir.
```bash
npm install moment --save # npm
yarn add moment # Yarn
Install-Package Moment.js # NuGet
spm install moment --save # spm
meteor add momentjs:moment # meteor
bower install moment --save # bower (artık geliştirilmiyor)
```
Bu işlemlerden sonra kodlarımızı yazdığımız dosyada şu komutu verebiliriz;
```js{3,5}
//ornek.js
var simdi = moment().format()
console.log(simdi)
```
\ No newline at end of file
#!/usr/bin/env sh
# abort on errors
set -e
# build
vuepress build
# navigate into the build output directory
cd .vuepress/dist
# if you are deploying to a custom domain
# echo 'www.example.com' > CNAME
git init
git add *
git commit -m 'deploy'
# if you are deploying to https://<USERNAME>.github.io
# git push -f git@github.com:<USERNAME>/<USERNAME>.github.io.git master
# if you are deploying to https://<USERNAME>.github.io/<REPO>
git push -f git@github.com:aligoren/momentjs-ipuclari.git master:gh-pages
cd -
git init
git add *
git commit -m 'deploy'
git push -f git@github.com:aligoren/momentjs-ipuclari.git master
\ No newline at end of file
---
title: Moment.js Giriş
---
# İçerik
[[toc]]
# Nerede Kullanılır
Moment tarayıcı ve Node.js üzerinde çalışmak için tasarlanmıştır.
Tüm kodlar ve birim testleri bu iki geliştirme ortamında da sorunsuzca çalışacaktır.
Şu anda [CI sistemi](https://medium.com/@selcukusta/continuous-integration-ci-%C3%BCzerine-laflamalar-9b7f7d2dad07) şu tarayıcıları desteklemektedir:
Windows XP üzerinde Chrome, Windows 7'de IE 8, 9 ve 10 sürümleri, Windows 10'da IE 11 sürümü, Linux için en son Firefox sürümü ve OSX 10.8 ve 10.11 üzerinde en son Safari sürümü.
Eğer moment'i şimdi denemek isterseniz sizin için CodePen üzerinde oluşturulan [Moment PlayGround](https://codepen.io/aligoren/pen/rQPbza?editors=0011)'a gidebilirsiniz. Orada yer alan konsol ekranına aşağıdaki kodları yazabilirsiniz.
## Node.js
```bash
npm install moment
```
```js
var moment = require('moment')
moment().format()
```
ya da destekliyorsa
```js
import moment from 'moment'
moment().format()
```
## Tarayıcı
```html
<script src="moment.js"></script>
<script>
moment().format();
</script>
```
Moment.js şu anda [cdnjs.com](https://cdnjs.com/libraries/moment.js) ve [jsDelivr](https://www.jsdelivr.com/package/npm/moment) üzerinde yer almaktadır.
## Bower
```bash
bower install --save moment
```
::: warning UYARI
Bower şu anda aktif olarak geliştirilmiyor. Diğer paket yöneticilerini kullanmanız öneriliyor.
:::
## NuGet
Moment.js ayrıca NuGet depolarında da bulunmaktadır.
```bash
Install-Package Moment.js
```
\ No newline at end of file
---
title: Kaynaklar
---
# Kaynaklar
Bu dokümantasyon aşağıdaki kaynaklar yardımıyla oluşturulmuş bir çeviriden ibarettir.
[momentjs.com](https://momentjs.com/)
[devhints.io/moment](https://devhints.io/moment)
[jscrambler](https://blog.jscrambler.com/a-momentjs-in-time/)
::: warning UYARI
Eğer bu repo'ya katkı sağlamak için PR gönderecekseniz ve farklı bir kaynaktan yararlandıysanız lütfen bu dosyayı düzenleyin.
:::
\ No newline at end of file
{
"devDependencies": {
"vuepress": "^0.14.8"
},
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
}
}
---
title: Parsing İşlemleri
---
# İçerik
[[toc]]
# Parsing İşlemleri
Moment.js native `Date.prototype` nesnesinde değişiklikler yapmak yerine `Date` nesnesi için bir wrapper oluşturur. Bu wrapper nesnesini çağırmak için kabul edilen giriş türlerini kullanarak basitçe `moment()` demeniz yeterlidir.
`Moment` prototype'ı `moment.fn` ile çalışmaktadır. Eğer kendi fonksiyonlarınızı yazacaksanız bu tam da onları koymanız gereken yer. Örneğin;
```js
moment.fn.mesajYaz = function() {
console.log('Burada moment çalıştı')
return this
}
moment().mesajYaz().format()
```
Tabii ki kendi fonksiyonlarınızı oluşturmanız yukarıdakinden farklı bir gereksinim sonucu ortaya çıkabilir.
## Mevcut Zaman
```js
moment();
// 2.14.0 sürümünden itibaren ileriye yönelik olarak aşağıdaki kullanımlar da desteklenmektedir.
moment([]);
moment({});
```
mevcut zamana dair bilgi almak için herhangi bir parametre olmadan `moment()` demeniz yeterlidir.
```js
var mevcutZaman = moment();
```
::: tip BİLGİ
Bu aşamada dönen sonuç `Object` türünden olacağı için saf bir kullanıma uygun değildir.
:::
## String
Moment nesnesi string türünden bir parametre alarak oluşturulduğu zaman önce girilen değerin [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) formatlarından biriyle eşleşip eşleşmediğine bakar.
Ardından [RFC 2822 Date Time](https://tools.ietf.org/html/rfc2822#section-3.3) formatı için kontrol eder. Eğer bilinen bir geçerli bir format yok ise `new Date(string)` kullanılır.
::: warning UYARI
Tarayıcıların stringleri ayrıştırma işlemleri [tutarsızdır](http://dygraphs.com/date-formats.html). Bunun nedeni hangi formatın desteklenmesi gerekeceğine dair herhangi bir spesifikasyonun bulunmayışıdır. Bazı tarayıcılarda çalışan format, bazılarında çalışmayabilir.
ISO 8601 formatı dışındaki değerler için ayrıca `format()` fonksiyonunu da kullanabilirsiniz.
:::
## Desteklenen ISO 8601 Stringleri
ISO 8601 türünden bir string için tarih bölümü gerekmektedir.
```
2013-02-08 # Takvim tarihi
2013-W06-5 # Haftalık bölüm
2013-039 # Sıralı bir tarih bölümü
20130208 # Kısa tam tarih
2013W065 # Kısa tarih hafta ve haftanın günü
2013W06 # Kısa tarih sadece hafta
2013050 # Kısa sıralı tarih
```
Ayrıca zaman içeren bölümler de kullanılabilir. Bu bölümler boşluk ya da büyük **T** harfi ile ayrılır.
```
2013-02-08T09 # T ile ayrılmış bir zaman bölümü
2013-02-08 09 # Boşluk ile ayrılmış bir zaman bölümü
2013-02-08 09:30 # Saat ve dakikadan oluşan zaman bölümü
2013-02-08 09:30:26 # Saat, dakika ve saniyeden oluşan zaman bölümü
2013-02-08 09:30:26.123 # Saat, dakika, saniye ve milisaniyeden oluşan zaman bölümü
2013-02-08 24:00:00.000 # Saat 24 ve dakika, saniye, milisaniye ise 0 yani ertesi gün
gece yarısı anlamına gelmektedir.
20130208T080910,123 # Virgülle milisaniyeye kadar ayrılmış bir kısa tarih ve zaman.
20130208T080910.123 # Nokta ile milisaniyeye kadar ayrılmış bir kısa tarih ve zaman
20130208T080910 # Saniyeye kadar giden kısa tarih ve zaman
20130208T0809 # Dakikalara kadar gider kısa tarih ve zaman
20130208T08 # Kısa tarih ve zaman sadece saat içermektedir
```
## Tarih Bilgisini Doğrulama
Eğer gelen tarih bilgisinin geçerli olmadığını düşünüyorsanız bunu `isValid()` isimli fonksiyonla aşağıdaki gibi doğrulayabilirsiniz.
```js
moment("tarihten bağımsız string").isValid() // false
moment("19.19.20").isValid() // false
```
## String + Format
```js
moment(String, String)
moment(String, String, String)
moment(String, String, Boolean)
moment(String, String, String, Boolean)
```
Eğer girilen string'in formatını biliyorsanız, zamanı parse etmek için onu kullanabilirsiniz. Örnek:
```js
moment("12-25-1995", "MM-DD-YYYY")
```
Bu aşamada parser alfanumerik olmayan karakterleri yok sayar, yani aşağıdaki iki kullanım da aynı sonucu üretir.
```js
moment("12-25-1995", "MM-DD-YYYY")
moment("12/25/1995", "MM-DD-YYYY")
```
Kullanılan parser sembolleri (tokens) tıpkı `moment#format` fonksiyonunda olduğu gibi kullanılabilir.
## Yıl, Ay ve Gün Sembolleri
| Giriş | Örnek | Açıklama |
| ------------ |:---------------:| ------------:|
| YYYY | 2018 | 4 ya da 2 karakter yıl |
| YY | 18 | 2 karakter yıl |
| Y | 2018 | Herhangi bir sayının rakamı ve sembolü ile yıl |
| Q | 1..4 | Yılın hangi çeyreği olduğuna dair bilgiyi sayısal olarak verir |
| M MM | 1..12 | Ayın sayısal değerini verir |
| MMM MMMM | Ara.. Aralık | Ay adı. Ay adı `moment.local()` ile belirlenmiştir. Varsayılan **en** |
| D DD | 1..31 | Ayın günü |
| Do | 1nd..31nd | Sıralı olarak ayın günü |
| DDD DDDD | 1.365 | Ayın günü |
| X | 1410715640.579 | Unix timestamp |
| x | 1410715640579 | Unix timestamp ms türünden. Buradaki x küçük harflidir. |
## Hafta, Haftanın Günü ve Yılın Haftası İçin Semboller
For these, the lowercase tokens use the locale aware week start days, and the uppercase tokens use the ISO week date start days.
Aşağıda yer alan küçük harflerle belirtili semboller yerel hafta günlerini kullanır. Büyük harfle belirtilmiş olan semboller ise [ISO standartlarına göre](https://en.wikipedia.org/wiki/ISO_week_date) haftanın gününü belirtir.
| Giriş | Örnek | Açıklama |
| ------------ |:---------------:| ------------:|
| gggg | 2018 | 4 karakter yerel tarihli haftanın yılı |
| gg | 18 | 2 karakter yerel tarihli haftanın yılı |
| w ww | 1..53 | Yılın hafta sayısı |
| e | 0..6 | Haftanın kaçıncı günü |
| ddd dddd | Pts...Pazar | Haftanın gün adı |
| GGGG | 2018 | 4 karakter ISO Standartlarına göre haftanın yılı |
| GG | 18 | 2 karakter ISO Standartlarına göre haftanın yılı |
| W WW | 1..53 | ISO Standartlarına göre Yılın hafta sayısı |
| E | 1..7 | ISO Standartlarına göre haftanın kaçıncı günü |
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment