php - লারাভেল ভিউ পৃষ্ঠাতে তারিখের ফর্ম্যাটটি পরিবর্তন করুন



laravel date (8)

3 টি উপায় রয়েছে যা আপনি করতে পারেন:

1) লারাভেল মডেল ব্যবহার

$user = \App\User::find(1);

$newDateFormat = $user->created_at->format('d/m/Y');

dd($newDateFormat);

2) পিএইচপি স্ট্রোটোটাইম ব্যবহার করে

$user = \App\User::find(1);

$newDateFormat2 = date('d/m/Y', strtotime($user->created_at));

dd($newDateFormat2);

3) কার্বন ব্যবহার

$user = \App\User::find(1);

$newDateFormat3 = \Carbon\Carbon::parse($user->created_at)->format('d/m/Y');

dd($newDateFormat3);

https://src-bin.com

আমি ডাটাবেস থেকে প্রাপ্ত তারিখের ফর্ম্যাটটি পরিবর্তন করতে চাই। এখন আমি {{$user->from_date}} .আমি {{$user->from_date}} 5.3 এ 'ডিএমআই' ফর্ম্যাটটি পরিবর্তন করতে চাই

{{ $user->from_date->format('d/m/Y')}}

Answer #1

আপনার মডেল সেটে:

protected $dates = ['name_field'];

আপনার দৃষ্টিতে পরে:

{{ $user->from_date->format('d/m/Y') }}

কাজ


Answer #2

আপনি Date Mutators পরীক্ষা করতে পারেন: https://laravel.com/docs/5.3/eloquent-mutators#date-mutators

আপনার User মডেল কলামটিতে_ $dates থেকে $dates অ্যারে সেট করা দরকার এবং তারপরে আপনি $dates ফর্ম্যাটটিতে ফর্ম্যাট পরিবর্তন করতে পারেন

অন্য বিকল্পটি আপনার User মডেলটিতে এই পদ্ধতিটি রাখা হয়েছে:

public function getFromDateAttribute($value) {
    return \Carbon\Carbon::parse($value)->format('d-m-Y');
}

এবং তারপরে আপনি যদি {{ $user->from_date }} run চালনা করেন তবে আপনি যে ফর্ম্যাটটি চান তা দেখতে পাবেন।


Answer #3

আমার অনুরূপ সমস্যা ছিল, আমি ফর্ম্যাটটি পরিবর্তন করতে চেয়েছিলাম, তবে আমি ফলক টেম্পলেট ইঞ্জিনেও ফর্ম্যাটটি পরিবর্তন করতে সক্ষম হওয়ার নমনীয়তা চেয়েছিলাম।

আমি, তাই আমার মডেলটিকে নিম্নলিখিত হিসাবে সেট আপ করি:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

\Carbon\Carbon::setToStringFormat('d-m-Y');

class User extends Model
{
    protected $dates = [
        'from_date',
    ];
}

এই setToStringFormat জন্য এই ফর্ম্যাটটি ব্যবহার করার জন্য setToStringFormat সমস্ত তারিখ সেট করবে।
আমার পক্ষে এটির সুবিধাটি হ'ল আমি যে ফরম্যাটটি চাইছিলাম তা আমি মিউটর ছাড়াই পেতে পারি, কারণ মিউটরটির সাথে, বৈশিষ্ট্যটি একটি স্ট্রিং হিসাবে ফিরে আসে যার অর্থ ব্লেড টেম্পলেটে আমি চাইলে এই জাতীয় কিছু লিখতে হত টেমপ্লেটে ফর্ম্যাটটি পরিবর্তন করুন:

{{ date('Y', strtotime($user->from_date)) }}

যা খুব পরিষ্কার নয়।

পরিবর্তে, গুণটি এখনও কার্বন উদাহরণ হিসাবে ফিরে আসে, তবে এটি প্রথমে পছন্দসই বিন্যাসে ফিরে আসে।
এর অর্থ এই যে টেমপ্লেটে আমি নিম্নলিখিত, ক্লিনার, কোডটি লিখতে পারি:

{{ $user->from_date->format('Y') }}

কার্বন ইনস্ট্যান্সটির পুনরায় ফর্ম্যাট করতে সক্ষম হওয়া ছাড়াও, আমি টেমপ্লেটের বৈশিষ্ট্যে বিভিন্ন কার্বন পদ্ধতিও কল করতে পারি।

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

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


Answer #4

কখনও কখনও তারিখের ফর্ম্যাট পরিবর্তন করা সঠিকভাবে কাজ করে না, বিশেষত লারাভেলে। সুতরাং সেই ক্ষেত্রে, এটি ব্যবহার করা ভাল:

$date1 = strtr($_REQUEST['date'], '/', '-');
echo date('Y-m-d', strtotime($date1));

তাহলে আপনি "1970-01-01" এর মতো ত্রুটি এড়াতে পারবেন!


Answer #5

ফলক টেমপ্লেটে তারিখটি ব্যবহার করা সহজ Carbon সেভাবে ব্যবহার করুন

{{ \Carbon\Carbon::parse($user->from_date)->format('d/m/Y')}}

Answer #6

লারাভেলে আপনি অ্যাপ / হেল্পার / হেল্পার.এফপি মত একটি ফাংশন যুক্ত করতে পারেন

function formatDate($date = '', $format = 'Y-m-d'){
    if($date == '' || $date == null)
        return;

    return date($format,strtotime($date));
}

এবং এই জাতীয় কোনও নিয়ামক এই ফাংশন কল

$start_date = formatDate($start_date,'Y-m-d');

আশা করি এটা সাহায্য করবে!


Answer #7

পদ্ধতি এক:

তারিখটি প্রদত্ত বিন্যাসে পরিবর্তনের জন্য strtotime() সময়ে ব্যবহার করা সেরা বিন্যাস।

strtotime() - কোনও ইউনিক্স টাইমস্ট্যাম্পে যে কোনও ইংরেজি পাঠ্য তারিখের সময় বিবরণ সম্পর্কে পার্স করুন

ফাংশনটি একটি ইংরাজী তারিখের ফর্ম্যাটযুক্ত একটি স্ট্রিং দেওয়ার প্রত্যাশা করে এবং সেই ফর্ম্যাটটিকে ইউনিক্স টাইমস্ট্যাম্পে (জানুয়ারীর 1 জানুয়ারি 00:00:00 ইউটিসি থেকে সেকেন্ডের সংখ্যা) পার্স করার চেষ্টা করবে, এখন যে টাইমস্ট্যাম্পের তুলনায়, বা বর্তমান সময় যদি এখন সরবরাহ করা হয় না।

উদাহরণ:

<?php
$timestamp = strtotime( "February 26, 2007" );  
print date('Y-m-d', $timestamp );
?>

আউটপুট:

2007-02-26

পদ্ধতি দুটি:

date_format() - একটি নতুন ডেটটাইম অবজেক্ট ফিরিয়ে দিন এবং তারপরে তারিখটি ফর্ম্যাট করুন:

<?php
$date=date_create("2013-03-15");
echo date_format($date,"Y/m/d H:i:s");
?>

আউটপুট:

 2013/03/15 00:00:00 




date