এখন () পিএইচপি মধ্যে ফাংশন


479

এখানে কি কোনও পিএইচপি ফাংশন রয়েছে যা মাইএসকিউএল ফাংশন হিসাবে একই বিন্যাসে তারিখ এবং সময় ফেরত দেয় NOW()?

আমি এটি ব্যবহার করে কীভাবে করব তা জানি date()তবে আমি জিজ্ঞাসা করছি যে এটির জন্য কোনও কার্যকারিতা আছে কিনা।

উদাহরণস্বরূপ, ফিরে আসার জন্য:

2009-12-01 00:00:00

2
ভাল প্রশ্ন. প্রতিটি প্রোগ্রামার মনে রাখার সাথে সংগ্রাম করে যা নীচে ডেটটাইমের সমাধানগুলি আনার ক্ষেত্রে সহজ তবে কার্যকর।
মিষ্টি চিলি ফিলি

উত্তর:



143
date('Y-m-d H:i:s')

আরও তথ্যের জন্য এখানে দেখুন: http://pl.php.net/manual/en/function.date.php


3
আমি জোর দিয়ে বলতে চাই যে আপনি এবং @ ট্রয়লস্কন উভয়ই একই উত্তরটি ২০১৩ সালের ৩ রা জানুয়ারীতে পাঠিয়েছিলেন। আপনার উত্তর জমাটি সম্ভবত তার থেকে কয়েক সেকেন্ড দূরে ছিল। :) যাইহোক এটি লেখার জন্য আপনাকে ধন্যবাদ: ডি
আলেকসান্দার

9 সেকেন্ড পরে (যদি আপনি "
উত্তরযুক্ত

110

পিএইচপি সংস্করণ সহ> = 5.4 ডেটটাইম এটি করতে পারে: -

echo (new \DateTime())->format('Y-m-d H:i:s');

এটি কাজ করে দেখুন


4
নির্মাতাকে মোড়ানো এবং সঠিকভাবে ফর্ম্যাট করা ভাল ধারণা।
acme


1
এটি দুর্দান্ত হতে পারে তবে এ প্রশ্নের উত্তর একেবারেই দেয় না, এইভাবে এটি করা সহজ বা
ত্বরান্বিত নয়

8
@ এসপড কীভাবে এটি প্রশ্নের উত্তর দেয় না? এটি একটি পিএইচপি ফাংশন যা "মাইএসকিউএল ফাংশন NOW () হিসাবে একই ফর্ম্যাটে তারিখ এবং সময়কে ফিরিয়ে দেয়", যা অবিকল প্রশ্ন।
ভাসকোহাইট

@ ভাস্কোহাইট - প্রশ্নটি ছিল যদি এই এক উদ্দেশ্যে কোনও নির্দিষ্ট কার্য রয়েছে তবে? তাহলে উত্তর হল না. এখানে তালিকাভুক্ত অন্যান্য সমস্ত সম্ভাবনাগুলি কাজ করতে পারে এবং আপনারও দুর্দান্ত, তবে সাহায্য করে না, কারণ জিজ্ঞাসা করা ব্যক্তিটি এটি করার উপায়টি আগে থেকেই জানত, তবে একটি সহজ, একক-উদ্দেশ্যমূলক ফাংশন চেয়েছিল যা আপনার নয় :)
11

34

এই ফাংশনটি ব্যবহার করুন:

function getDatetimeNow() {
    $tz_object = new DateTimeZone('Brazil/East');
    //date_default_timezone_set('Brazil/East');

    $datetime = new DateTime();
    $datetime->setTimezone($tz_object);
    return $datetime->format('Y\-m\-d\ h:i:s');
}

25

এটা চেষ্টা কর:

date("Y-m-d H:i:s");

181
ঠিক আছে, আপনি যদি এর মতো অক্ষরগুলি অপচয় করেন তবে আমরা সেগুলি শেষ করে দেব।
বিল কারভিন

4
হ্যাঁ আমার খারাপ সময় ()
সত্যই

15
8 টি অক্ষর, আসলে।
হেনরিক এরল্যান্ডসন

52
চারপাশের সমস্ত বর্জ্য বিবেচনা করে, আমি এটি বেশ লজ্জাজনক মনে করি তিনি ডাবল উদ্ধৃতি ব্যবহার করেছেন
অগি গার্ডনার

37
চরিত্রের অপচয় সম্পর্কে মন্তব্য করতে সমস্ত চরিত্রগুলি নষ্ট করে দেখুন!
49

25

সংক্ষিপ্ত উত্তর

$now = date_create()->format('Y-m-d H:i:s');

দীর্ঘ উত্তরের জন্য নীচে পড়ুন।




পিএইচপি-তে মাইএসকিউএল এখন () ফাংশনের নকল করুন

এখানে পিএইচপি-র উপায়গুলির একটি তালিকা রয়েছে যা মাইএসকিউএল অনুকরণ করে NOW() ফাংশনটি ।

// relative date
$now = date_create('now')->format('Y-m-d H:i:s'); // works in php 5.2 and higher  
$now = date_create()->format('Y-m-d H:i:s'); // also works in php 5.2
$now = new DateTime('now')->format('Y-m-d H:i:s'); // syntax error!!!
$now = (new DateTime('now'))->format('Y-m-d H:i:s'); // works in php 5.4 and higher   
$now = date('Y-m-d H:i:s'); // Slightly higher performance, but less usable for date/time manipulations

// From Unix timestamp
// Using date_create() with a Unix timestamp will give you a FALSE,  
// and if you try to invoke format() on a FALSE then you'll get a: 
//     Fatal error: Call to a member function format() on boolean 
// So if you work with Unix timestamps then you could use: date_create_from_format().
$unixTimeStamp = 1420070400; // 01/01/2015 00:00:00
$y2015 = date_create_from_format('U', $unixTimeStamp, timezone_open('Europe/Amsterdam'))->format('Y-m-d H:i:s');
$y2015 = date('Y-m-d H:i:s', $unixTimeStamp);

আমি মনে করি date_create()->format('Y-m-d H:i:s')এটিই সেরা উপায় কারণ এই পদ্ধতির সাহায্যে সময় / সময়-অঞ্চল ম্যানিপুলেশনগুলির চেয়ে সহজ পরিচালনা করতে দেওয়া হয় date('Y-m-d H:i:s')এবং এটি পিএইচপি 5.2 এর পরে কাজ করে।


মাইএসকিউএল এখন () ফাংশন

মাইএসকিউএল ফাংশন NOW()এই বিন্যাসে DATETIME মান দেয়: 'YYYY-MM-DD HH:MM:SS'। এখানে দেখুন: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-function.html#function_ Now

একটি আকর্ষণীয় তথ্য হ'ল এই ক্যোয়ারীটি চালিয়ে ডেটটাইম ফর্ম্যাট পাওয়া সম্ভব: SHOW VARIABLES LIKE 'd%e_format'ফলাফলটি এরকম কিছু হতে পারে:

Variable_name     Value     
date_format       %Y-%m-%d
datetime_format   %Y-%m-%d %H:%i:%s

এখানে ভেরিয়েবলগুলি কেবল পঠনযোগ্য ভেরিয়েবল। সুতরাং আপনি এটি পরিবর্তন করতে পারবেন না।

আমার ধারণা মাইএসকিউএল NOW()ফাংশনটি datetime_formatভেরিয়েবলের থেকে এটির ফর্ম্যাট হয়ে যায় ।




তারিখ_ক্রিয়েট () -> ফর্ম্যাট () পরিবর্তে তারিখ () সংক্ষিপ্তসারের সুবিধা

date_create('now')->format('Y-m-d H:i:s')ওভারের অনুকূল তথ্যগুলি হ'ল date('Y-m-d H:i:s'):

  • সময় ম্যানিপুলেশনগুলি পরিচালনা করা সহজ
  • সময় অঞ্চলগুলি পরিচালনা করা সহজ
  • গলি

তারিখ_ক্রিয়েট () -> বিন্যাস () পরিবর্তে তারিখ () এর অসুবিধাগুলি

ফাংশনটির date()তুলনায় কিছুটা ভাল পারফরম্যান্স রয়েছে date_create()->format()। নীচে মানদণ্ড পরীক্ষা দেখুন।

$start = time();
for ($i = 0; $i <= 5000000; $i++) {
    $a = date_create('now')->format('Y-m-d H:i:s');
}
$end = time();                  
$elapsedTimeA = $end - $start;

echo 'Case A, elapsed time in seconds: ' . $elapsedTimeA;
echo '<br>';

$start = time();
for ($i = 0; $i <= 5000000; $i++) {
    $b = date('Y-m-d H:i:s');
}
$end = time();                   
$elapsedTimeB = $end - $start;

echo 'Case B, elapsed time in seconds: ' . $elapsedTimeB;
echo '<br>';
// OUTPUT
Case A, elapsed time in seconds: 31
Case B, elapsed time in seconds: 14

উপরের কেসটি দেখায় যে date()এটি দ্রুত। তবে, আমরা যদি পরীক্ষার পরিস্থিতিটি কিছুটা পরিবর্তন করি তবে ফলাফল আলাদা হবে। নিচে দেখ:

$start = time();
$dt = date_create('now');
for ($i = 0; $i <= 5000000; $i++) {
    $a = $dt->format('Y-m-d H:i:s');
}
$end = time();                  
$elapsedTimeA = $end - $start;

echo 'Case A, elapsed time in seconds: ' . $elapsedTimeA;
echo '<br>';

$start = time();
for ($i = 0; $i <= 5000000; $i++) {
    $b = date('Y-m-d H:i:s');
}
$end = time();                   
$elapsedTimeB = $end - $start;

echo 'Case B, elapsed time in seconds: ' . $elapsedTimeB;
echo '<br>';
// OUTPUT
Case A, elapsed time in seconds: 14
Case B, elapsed time in seconds: 15

ডেটটাইম পদ্ধতিটি format()এখানে তুলনায় দ্রুত date()




তারিখ_ক্রিয়েট () -> ফর্ম্যাট () পরিবর্তে তারিখ () এর সুবিধা

বিস্তারিত ব্যাখ্যার জন্য পড়ুন।

সময় ম্যানিপুলেশনগুলি পরিচালনা করা সহজ

date_create()আপেক্ষিক তারিখ / সময় বিন্যাস গ্রহণ করে (যেমন now, yesterdayবা +1 day) এই লিঙ্কটি দেখুন , উদাহরণস্বরূপ:

$tomorrow = date_create('+1 day')->format('Y-m-d H:i:s'); 

date() এটির মতো একটি আপেক্ষিক তারিখ / সময় বিন্যাস গ্রহণ করে:

$tomorrow = date('Y-m-d H:i:s', strtotime('+1 day'));
$tomorrow = date('Y-m-d H:i:s', (time() + 86400)); // 86400 seconds = 1 day

সময় অঞ্চলগুলি পরিচালনা করা সহজ

যখন সময় অঞ্চলগুলি বিবেচনা করে তখন ব্যবহারটি date_create()->format()আরও অনেক বেশি অর্থবোধ করে date()কারণ কারণ date()ডিফল্ট সময় অঞ্চলটি যা নির্দেশে কনফিগার করা php.iniথাকে তা ব্যবহার করে date.timezone। লিঙ্ক: http://php.net/manual/en/datetime.configration.php#ini.date.timezone

রান-টাইমের সময় সময় অঞ্চল পরিবর্তন করা সম্ভব to উদাহরণ:

date_default_timezone_set('Asia/Tokyo');

এর খারাপ দিকটি এটি সমস্ত তারিখ / সময় ফাংশনগুলিকে প্রভাবিত করে। আপনি যদি date_create()->format()সংমিশ্রণে ব্যবহার করছেন তবে এই সমস্যাটি বিদ্যমান নেই timezone_open()

পিএইচপি প্রধান সময় অঞ্চলগুলিকে সমর্থন করে। মজার বিষয় হ'ল এটি আর্কটিক বৃত্ত এবং অ্যান্টার্কটিকাকেও সমর্থন করে। আপনি কি কখনও শুনেছেন Longyearbyen? যদি তা না হয় তবে চিন্তিত হবেন না, যতক্ষণ না আমি পিএইচপি অফিশিয়াল ডকুমেন্টেশন না পড়েছি ততক্ষণ আমিও করিনি।

$nowLongyearbyen = date_create('now', timezone_open('Arctic/Longyearbyen'))->format('Y-m-d H:i:s');

সমস্ত সমর্থিত সময় অঞ্চলগুলির একটি তালিকা দেখুন: http://php.net/manual/en/timezones.php

গলি

ওওপি স্টেট-পূর্ণ বস্তু ব্যবহার করে। সুতরাং আমি এইভাবে চিন্তা করতে পছন্দ করি:

// Create a DateTime Object. 
// Use the DateTime that applies for tomorrow.
// Give me the datetime in format 'Y-m-d H:i:s'
$tomorrow = date_create('+1 day')->format('Y-m-d H:i:s'); 

তারপরে এভাবে চিন্তা করা:

// Give me a date time string in format 'Y-m-d H:i:s', 
// use strtotime() to calculate the Unix timestamp that applies for tomorrow.
$tomorrow = date('Y-m-d H:i:s', strtotime('+1 day'));

অতএব আমি বলব যে date_create()->format()পদ্ধতিটি তখন আমার কাছে আরও পাঠযোগ্য date()




ডেট_ক্রিয়েট () ভিএস নতুন ডেটটাইম ()

date_create()ওভারের অনুকূল তথ্যগুলি হ'ল new DateTime():

  • নামস্থান

নামস্থান

আপনি যদি কোনও নেমস্পেসে কাজ করেন এবং নতুন কীওয়ার্ডের সাথে ডেটটাইম অবজেক্টটি শুরু করতে চান, তবে আপনাকে এটি এইভাবে করতে হবে:

namespace my_namespace;

// The backslash must be used if you are in a namespace.
// Forgetting about the backslash results in a fatal error.
$dt = new \DateTime();

এটিতে কোনও ভুল নেই, তবে উপরোক্ত দিকের ক্ষতিটি হ'ল লোকেরা ব্যাকস্ল্যাশ সম্পর্কে বিক্ষিপ্তভাবে ভুলে যায়। date_create()কনস্ট্রাক্টর ফাংশনটি ব্যবহার করে আপনাকে নেমস্পেসগুলি নিয়ে চিন্তা করতে হবে না।

$dt = date_create(); // in or not in a namespace it works in both situations




তারিখ_ক্রিয়েট () -> ফর্ম্যাট () এর উদাহরণ

যদি আমার কোনও অ্যারে পূরণ করতে হয় তবে আমি আমার প্রকল্পগুলির জন্য এই পদ্ধতির ব্যবহার করি। এটার মত:

$array = array(
    'name' => 'John',
    'date_time' => date_create('now')->format('Y-m-d H:i:s'), // uses the default timezone
    'date_time_japan' => date_create('now', timezone_open('Asia/Tokyo'))->format('Y-m-d H:i:s'),
);

18

আমি একই উত্তরটির সন্ধান করছিলাম এবং আমি পিএইচপি 5.3 বা তার পরে এই সমাধানটি নিয়ে এসেছি :

$dtz = new DateTimeZone("Europe/Madrid"); //Your timezone
$now = new DateTime(date("Y-m-d"), $dtz);
echo $now->format("Y-m-d H:i:s");

16

মাইএসকিউএল ফাংশনটি NOW()বর্তমান টাইমস্ট্যাম্পটি দেয়। পিএইচপি-র জন্য আমি খুঁজে পেয়েছি কেবলমাত্র নিম্নলিখিত কোডটি ব্যবহার করা।

$curr_timestamp = date('Y-m-d H:i:s');

16

আরও একটি উত্তর আমি ব্যবহার করা সহজ বলে মনে করি:

echo date('c');

// 2015-07-27T00:00:00+02:00

এটি আইএসও 8601 তারিখ (পিএইচপি 5 এ যুক্ত) যা মাইএসকিউএল ব্যবহার করে

সম্পাদন করা

মাইএসকিউএল ৫. ডিফল্টভাবে ডেটটাইমে টাইমজোনকে অনুমতি দেয় না। আপনি এর মাধ্যমে ত্রুটিটি অক্ষম করতে পারেন SQL_MODE=ALLOW_INVALID_DATES। আরও তথ্যের জন্য উত্তরটি এখানে দেখুন: https://stackoverflow.com/a/35944059/2103434তবে এর অর্থ হ'ল ডাটাবেসে সংরক্ষণ করার সময় টাইমজোনটি হারিয়ে যাবে!

ডিফল্টরূপে মাইএসকিউএল সিস্টেমের টাইমজোন ব্যবহার করে এবং পিএইচপি যতক্ষণ না একই টাইমজোনটি ব্যবহার করে আপনার ঠিক হওয়া উচিত should আমার ক্ষেত্রে সিইটি / ইউটিসি + ২।

এর অর্থ হ'ল যদি আমি 2015-07-27T00:00:00+02:00ডাটাবেসে সন্নিবেশ করি তবে কেবলমাত্র 2015-07-27T00:00:00সংরক্ষণ করা হবে (তবে এটি সঠিক স্থানীয় সময়!)।

যখন আমি পিএইচপি-তে সময়টি লোড করি,

$importedDate = new \DateTime('2015-07-27T00:00:00')

এটি স্বয়ংক্রিয়ভাবে এটি +02:00টাইমজোন ধরে নেবে কারণ এটি ডিফল্ট ume এটি আবার মুদ্রণ সঠিক হবে:

echo $importedDate->format('c');
// 2015-07-27T00:00:00+02:00

নিরাপদ থাকতে সর্বদা সার্ভারে ইউটিসি ব্যবহার করুন, এটি মাইএসকিউএল এবং পিএইচপি-তে নির্দিষ্ট করুন এবং তারপরে তারিখটি প্রদর্শন করার সময় কেবল এটি আপনার ব্যবহারকারীর লোকালয়ে রূপান্তর করুন:

date_default_timezone_set('UTC');
$importedDate = new \DateTime('2015-07-27T00:00:00+02:00');
echo $importedDate->format('c');
// 2015-07-27T00:00:00+02:00

$importedDate->setTimezone(new \DateTimeZone("America/New_York"));
echo $importedDate->format('c');
// 2015-07-26T18:00:00-04:00


11

অথবা আপনি DateTimeধ্রুবক ব্যবহার করতে পারেন :

echo date(DateTime::W3C); // 2005-08-15T15:52:01+00:00

তাদের তালিকা এখানে:

ATOM = "Y-m-d\TH:i:sP" ;               // -> 2005-08-15T15:52:01+00:00
COOKIE = "l, d-M-Y H:i:s T" ;          // -> Monday, 15-Aug-2005 15:52:01 UTC
ISO8601 = "Y-m-d\TH:i:sO" ;            // -> 2005-08-15T15:52:01+0000
RFC822 = "D, d M y H:i:s O" ;          // -> Mon, 15 Aug 05 15:52:01 +0000
RFC850 = "l, d-M-y H:i:s T" ;          // -> Monday, 15-Aug-05 15:52:01 UTC
RFC1036 = "D, d M y H:i:s O" ;         // -> Mon, 15 Aug 05 15:52:01 +0000
RFC1123 = "D, d M Y H:i:s O" ;         // -> Mon, 15 Aug 2005 15:52:01 +0000
RFC2822 = "D, d M Y H:i:s O" ;         // -> Mon, 15 Aug 2005 15:52:01 +0000
RFC3339 = "Y-m-d\TH:i:sP" ;            // -> 2005-08-15T15:52:01+00:00 ( == ATOM)
RFC3339_EXTENDED = "Y-m-d\TH:i:s.vP" ; // -> 2005-08-15T15:52:01.000+00:00
RSS = "D, d M Y H:i:s O" ;             // -> Mon, 15 Aug 2005 15:52:01 +0000
W3C = "Y-m-d\TH:i:sP" ;                // -> 2005-08-15T15:52:01+00:00

ডিবাগিংয়ের জন্য আমি আরও কম ( 3v4l.org ) পছন্দ করি:

echo date('ymd\THisP'); // 180614T120708+02:00

6

আমি ব্যবহারকারী 1786647 দ্বারা পোস্ট করা সমাধানটি পছন্দ করি এবং আমি ফাংশন আর্গুমেন্টের সময় অঞ্চল পরিবর্তন করতে এবং ফিরিয়ে দেওয়া ডেটস্ট্যাম্পের জন্য ইউনিক্স সময় বা ডেটটাইম স্ট্রিংটি পাস করার জন্য supportচ্ছিক সমর্থন যোগ করার জন্য এটি সামান্য আপডেট করেছি।

এটি পিএইচপি 5.3 এর চেয়ে কম সংস্করণে চলমান ব্যবহারকারীদের জন্য "সেটটাইমস্ট্যাম্প" এর ফ্যালব্যাক অন্তর্ভুক্ত করেছে:

function DateStamp($strDateTime = null, $strTimeZone = "Europe/London") {
    $objTimeZone = new DateTimeZone($strTimeZone);

    $objDateTime = new DateTime();
    $objDateTime->setTimezone($objTimeZone);

    if (!empty($strDateTime)) {
        $fltUnixTime = (is_string($strDateTime)) ? strtotime($strDateTime) : $strDateTime;

        if (method_exists($objDateTime, "setTimestamp")) {
            $objDateTime->setTimestamp($fltUnixTime);
        }
        else {
            $arrDate = getdate($fltUnixTime);
            $objDateTime->setDate($arrDate['year'], $arrDate['mon'], $arrDate['mday']);
            $objDateTime->setTime($arrDate['hours'], $arrDate['minutes'], $arrDate['seconds']);
        }
    }
    return $objDateTime->format("Y-m-d H:i:s");
}

6

আপনি প্যারামিটার হিসাবে সঠিক ফর্ম্যাট সঙ্গে পিএইচপি তারিখ ফাংশন ব্যবহার করতে পারেন,

echo date("Y-m-d H:i:s");

1

কোনও অন্তর্নির্মিত পিএইচপি now()ফাংশন নেই, তবে আপনি এটি ব্যবহার করে করতে পারেন date()

উদাহরণ

function now() {
    return date('Y-m-d H:i:s');
}

আপনার date_default_timezone_set()যদি টাইমজোন পরিবর্তন করতে হয় তবে আপনি ব্যবহার করতে পারেন ।

অন্যথায় আপনি ব্যবহার করতে পারেন কার্বন তারিখসময় করার এক সহজ পিএইচপি এপিআই এক্সটেনশন -।


0

আপনি যদি এএম / পিএম সহ এখনই সময় পেতে চান

<?php 
    $time_now = date("Y-m-d h:i:s a");
    echo $time_now;
?>

এটি আউটপুট 2020-05-01 05:45:28 pm

অথবা

<?php 
    $time_now = date("Y-m-d h:i:s A");
    echo $time_now;
?>

এটি আউটপুট 2020-05-01 05:45:28 PM


-1

শীঘ্র

echo date('Y-m-d H:i:s');

পিএইচপি উন্নত এখন ক্লাস অতিরিক্ত অ্যাডমিনিট অ্যাডইয়ার যেমন অ্যাডহাউর ইত্যাদি ...

<?php /** @noinspection PhpUnhandledExceptionInspection */

/**
 * Class Now
 * @author  dılo sürücü <berxudar@gmail.com>
 */
class Now
{

    /**
     * @var DateTime
     */
    private $dateTime;

    /**
     * Now constructor.
     * @throws Exception
     */
    public function __construct()
    {
        $this->dateTime = new DateTime('now');
    }


    /**
     * @param int $year
     * @return Now
     * @throws Exception
     * @noinspection PhpUnused
     */
    public function addYear(int $year): self
    {
        $this->dateTime->add(new DateInterval('P' . $year . 'Y'));

        return $this;
    }

    /**
     * @noinspection PhpUnused
     * @param int $month
     * @return Now
     * @throws Exception
     * @noinspection PhpUnused
     */
    public function addMonth(int $month):self 
    {
        $this->dateTime->add(new DateInterval('P' . $month . 'M'));

        return $this;
    }

    /**
     * @param int $day
     * @return $this
     * @throws Exception
     */
    public function addDay(int $day): self
    {
        $this->dateTime->add(new DateInterval('P' . $day . 'D'));
        return $this;
    }

    /**
     * @noinspection PhpUnused
     * @param int $week
     * @return $this
     * @throws Exception
     */
    public function addWeek(int $week): self
    {
        return $this->addDay($week * 7);
    }

    /**
     * @noinspection PhpUnused
     * @param int $second
     * @return $this
     * @throws Exception
     */
    public function addSecond(int $second): self
    {
        $this->dateTime->add(new DateInterval('PT' . $second . 'S'));
        return $this;
    }

    /**
     * @param int $minute
     * @return $this
     * @throws Exception
     */
    public function addMinute(int $minute): self
    {
        $this->dateTime->add(new DateInterval('PT' . $minute . 'M'));
        return $this;
    }

    /**
     * @param int $hour
     * @return $this
     * @throws Exception
     */
    public function addHour(int $hour): self
    {
        $this->dateTime->add(new DateInterval('PT' . $hour . 'H'));
        return $this;
    }


    /**
     * @return string
     */
    public function get(): string
    {
        return $this->dateTime->format('Y-m-d H:i:s');
    }

    /**
     * @return string
     */
    public function __toString()
    {
        return $this->get();
    }

}


/**
 * @return Now
 * @throws Exception
 */
function now()
{
    return new Now();

}




ব্যবহার

  echo now(); //2020-03-10 22:10


echo now()->addDay(1); //2020-03-11 22:10


echo now()->addDay(1)->addHour(1); // //2020-03-11 23:10


echo now()->addDay(1)->addHour(1)->addMinute(30); // //2020-03-11 23:40


echo now()->addDay(1)->addHour(1)->addMinute(30)->addSecond(10); // //2020-03-11 23:50

//or u can use get method for example

echo now()->addDay(1)->addHour(1)->addMinute(30)->get(); // //2020-03-11 23:40

কোডের এক লাইনে সম্পূর্ণ সন্তুষ্ট হতে পারে এমন কিছুর জন্য কারও কেন পুরো ক্লাসের প্রয়োজন হবে?!? এই টিএলডিআর-এর যদি কোনও মূল্য থাকে তবে এটি ভুল প্রশ্নের সঠিক উত্তর।
মিকম্যাকুসা

কারণ এখন
প্রতিবছর

ওপি কেবল একটি নির্দিষ্ট বিন্যাসিত তারিখের স্ট্রিংয়ের জন্য বলেছে। বেশি কিছু না. কোনও তারিখ / সময় ম্যানিপুলেশন নেই। এটি ভুল প্রশ্নের সঠিক উত্তর is
মিকম্যাকুসা

ı সম্পাদিত
কোডটির

আপনার সম্পাদনা এই পৃষ্ঠায় শীর্ষ 5 টির মধ্যে 3 টির উত্তর থেকে প্রস্তাবিত সমাধানটি অনুলিপি করেছে। আপনি পৃষ্ঠা ব্লাটতে অবদান রাখছেন (অপ্রয়োজনীয় সামগ্রী এবং সুযোগ-বহির্ভূত পরামর্শ) এবং এটি স্ট্যাকওভারফ্লোয়ের পক্ষে ভাল নয়।
মিকম্যাকুসা

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.