Git Product home page Git Product logo

easy-bangla-date's Introduction

Easy Bangla Date

Build Status HHVM Status Coverage Status Scrutinizer Code Quality Latest Stable Version Total Downloads

Utility Library to Display Bangla Date and Time.

Key Features

  • Easy to use
  • Works same as php native DateTime Class
  • Support almost all format option like DateTime class
  • Can customize the start of day hour by setting morning option(for BnDateTime)
  • Can be used to convert English-Bangla-English date format

Synopsis

<?php
use EasyBanglaDate\Types\BnDateTime;
use EasyBanglaDate\Types\DateTime as EnDateTime;

require 'autoload.php'

$bongabda = new BnDateTime('2016-04-22 05:26:47 pm', new DateTimeZone('Asia/Dhaka'));
$bongabda->setDate(1398, 1, 1);

echo $bongabda->format('l jS F Y b h:i:s') . PHP_EOL ;
echo $bongabda->enFormat('l jS F Y h:i:s a') . PHP_EOL;
echo $bongabda->getDateTime()->format('l jS F Y b h:i:s'). PHP_EOL;
echo $bongabda->getDateTime()->enFormat('l jS F Y h:i:s A') . PHP_EOL;

Output

Installation/Usage

If you're using Composer to manage dependencies, you can include the following in your composer.json file:

"require": {
    "ronisaha/easy-bangla-date": "dev-master"
}

Then, after running composer update or php composer.phar update, you can load the class using Composer's autoloading:

require 'vendor/autoload.php';

Otherwise, you can simply require the given autoload.php file:

require_once 'PATH_TO_LIBRARY/autoload.php';

And in either case, I'd suggest using an alias for EasyBanglaDate\Types\DateTime Class to distinguish between native DateTime Class.

use EasyBanglaDate\Types\DateTime as EnDateTime;

Methods/Features

Both EasyBanglaDate\Types\DateTime and EasyBanglaDate\Types\BnDateTime has the member functions as native DateTime class.

DateTime
  • you can use enFormat function to get output in english.
BnDateTime
  • EasyBanglaDate\Types\BnDateTime got extra method setMorning to define a hour for start of day. By default day start at 6.
  • Along with all format options of native DateTime class, we have extra option b which will print ('ভোর', 'সকাল', 'দুপুর', 'বিকাল', 'সন্ধ্যা', 'রাত')
  • Use setDate($year, $month, $day) to set bengali date
  • getDateTime method will return object of EasyBanglaDate\Types\DateTime for current object.

Cookbook

English date in Bangla
<?php
use EasyBanglaDate\Types\DateTime;

require 'autoload.php'

$date = new DateTime('now', new DateTimeZone('Asia/Dhaka'));

echo $date->format('l jS F Y b h:i:s');
Native format functionality
<?php
use EasyBanglaDate\Types\DateTime;

require 'autoload.php'

$date = new DateTime('now', new DateTimeZone('Asia/Dhaka'));

echo $date->enFormat('l jS F Y b h:i:s');
Convert English to Bangla Date
<?php
use EasyBanglaDate\Types\BnDateTime;

require 'autoload.php'

$bongabda = new BnDateTime('now', new DateTimeZone('Asia/Dhaka'));

echo $bongabda->format('l jS F Y b h:i:s');
Convert Bangla to English Date
<?php
use EasyBanglaDate\Types\BnDateTime;

require 'autoload.php'

$bongabda = new BnDateTime('now', new DateTimeZone('Asia/Dhaka'));

echo $bongabda->format('l jS F Y b h:i:s');
//Set Bengali date
$bongabda->setDate(1405,1,1);
//Get english date in bangla
echo $bongabda->getDateTime()->format('l jS F Y b h:i:s');
//Get english date in english
echo $bongabda->getDateTime()->enFormat('l jS F Y h:i:s');

Contributing to Library

If you find a bug or want to add a feature to EasyBanglaDate, great! In order to make it easier and quicker for me to verify and merge changes in, it would be amazing if you could follow these few basic steps:

  1. Fork the project.
  2. Branch out into a new branch. git checkout -b name_of_new_feature_or_bug
  3. Make your feature addition or bug fix.
  4. Add tests for it. This is important so I don’t break it in a future version unintentionally.
  5. Commit.
  6. Send me a pull request!

Some Similar PHP libraries you may like to see:

easy-bangla-date's People

Contributors

ronisaha avatar

Watchers

James Cloos avatar Shaik Mamun Kabir avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.