full - php tutorial pdf



Strtotime() ডিডি/মিমি/YYYY বিন্যাসের সাথে কাজ করে না (10)

আমি সত্যিই strtotime() ফাংশন পছন্দ করি, কিন্তু ব্যবহারকারী ম্যানুয়াল সমর্থিত তারিখ ফর্ম্যাটের সম্পূর্ণ বিবরণ দেয় না। strtotime('dd/mm/YYYY') কাজ করে না, এটি শুধুমাত্র mm/dd/YYYY ফর্ম্যাটের সাথে কাজ করে।

যদি আমার dd/mm/YYYY ফর্ম্যাটে তারিখ থাকে, তবে আমি কিভাবে এটি YYYY-mm-dd রূপান্তর করতে পারি? আমি explode() ফাংশন ব্যবহার করে এটি করতে পারেন, কিন্তু আমি মনে করি ভাল সমাধান আছে।


Answer #1

$ তারিখ_ইনফো = '20 / 02/2019 '; ইকো তারিখ ('Ym-D', strtotime (str_replace ('/', '-', $ date_info)));


Answer #2

STRTOTIME রাইটআপ থেকে দ্রষ্টব্য:

মি / ডি / ই বা ড্যামি ফর্ম্যাটের তারিখগুলি বিভিন্ন উপাদানের মধ্যে বিভাজককে দেখিয়ে দ্বিধাবোধ করে: যদি বিভাজকটি একটি স্ল্যাশ (/) হয় তবে আমেরিকান মি / ডি / y অনুমান করা হয়; যখন বিভাজক একটি ড্যাশ (-) বা একটি বিন্দু (।) হয়, তাহলে ইউরোপীয় ড্যামি বিন্যাস অনুমান করা হয়।

এটা যে হিসাবে হিসাবে সহজ।


Answer #3

আপনি একটি ডাটাবেস থেকে এই মান পেয়েছেন? যদি তাই হয়, ডাটাবেসের মধ্যে এটি বিন্যাস বিবেচনা করুন (উদাহরণস্বরূপ, mysql মধ্যে date_format ব্যবহার করুন)। যদি না হয়, মূল্য বিস্ফোরিত করা সেরা বিট হতে পারে, কারণ strtotime শুধুমাত্র dd / mm / yyyy মানগুলির প্রশংসা করতে পারে না।


Answer #4

আমি date("Ymd" বিন্যাসে date("Ymd" রূপান্তর করার চেষ্টা করেছি date("Ymd" বিন্যাসে কিন্তু আমি সরাসরি ddmmyy =date('dmy') পাস করার সময় কাজ করছিলাম না।

তারপর বুঝতে হবে এটি yyyy-mm-dd বিন্যাসে থাকা উচিত। ব্যবহৃত substring ব্যবহৃত

$strParam = '20'.substr($_GET['date'], 4, 2).'-'.substr($_GET['date'], 2, 2).'-'.substr($_GET['date'], 0, 2);  

তারপর date("Ymd",strtotime($strParam)); পাস date("Ymd",strtotime($strParam));

এটা কাজ করেছে!


Answer #5

এই workaround বিস্ফোরিত চেয়ে সহজ এবং আরো মার্জিত হয়:

$my_date = str_replace("/", ".", $my_date);
$my_date = strtotime($my_date);
$my_date = date("Y-m-d", $my_date);

আপনি কোন ফর্ম্যাটে তারিখ পেয়েছেন তা জানার দরকার নেই, তবে স্ল্যাশগুলির সাথে এটি যদি সম্পূর্ণ স্টপের সাথে প্রতিস্থাপিত হয় এবং এটি স্ট্রোটটাইম দ্বারা ইউরোপীয় হিসাবে বিবেচিত হয়।


Answer #6

এই সমাধান আমি নেতৃস্থানীয় শূন্য আছে এমনকি যদি ব্যবহার করছি।

<?php
 $date = '05/05/2017';
 $date = str_replace('/', '-', $date);
 $date = date('Y-m-d', strtotime($date));

 echo $date;
?>

Answer #7

এটি অনেক সমস্যার একটি ভাল সমাধান:

function datetotime ($date, $format = 'YYYY-MM-DD') {

    if ($format == 'YYYY-MM-DD') list($year, $month, $day) = explode('-', $date);
    if ($format == 'YYYY/MM/DD') list($year, $month, $day) = explode('/', $date);
    if ($format == 'YYYY.MM.DD') list($year, $month, $day) = explode('.', $date);

    if ($format == 'DD-MM-YYYY') list($day, $month, $year) = explode('-', $date);
    if ($format == 'DD/MM/YYYY') list($day, $month, $year) = explode('/', $date);
    if ($format == 'DD.MM.YYYY') list($day, $month, $year) = explode('.', $date);

    if ($format == 'MM-DD-YYYY') list($month, $day, $year) = explode('-', $date);
    if ($format == 'MM/DD/YYYY') list($month, $day, $year) = explode('/', $date);
    if ($format == 'MM.DD.YYYY') list($month, $day, $year) = explode('.', $date);

    return mktime(0, 0, 0, $month, $day, $year);

}

Answer #8

দ্রুততম হতে হবে

false!== ($date !== $date=preg_replace(';[0-2]{2}/[0-2]{2}/[0-2]{2};','$3-$2-$1',$date))

যদি ফরম্যাটটি যথাযথ মনে না হয় তবে এটি মিথ্যা ফেরত দেবে, তবে তারিখটি বৈধ কিনা তা যাচাই না করে যাচাই করা হবে


Answer #9

সবচেয়ে সহজ সমাধান এই হল:

$date    = '07/28/2010';
$newdate = date('Y-m-d', strtotime($date));

Answer #10

$srchDate = date_format(date_create_from_format('d/m/Y', $srchDate), 'Y/m/d');

এই আপনার জন্য কাজ করবে। আপনি স্ট্রিংটি একটি কাস্টম তারিখ ফর্ম্যাটে রূপান্তর করুন যেখানে আপনি পিএইচপি তে নির্দিষ্ট করতে পারেন যা স্ট্রিংটির আসল বিন্যাসটি এটি দেওয়া হয়েছে। এখন এটি একটি তারিখ ফর্ম্যাট, আপনি এটি পিএইচপি এর ডিফল্ট তারিখ বিন্যাসে রূপান্তর করতে পারেন, যা একই সাথে MySQL দ্বারা ব্যবহৃত হয়।





php