รับวันที่เวลาวันปัจจุบันใน laravel


117

ฉันต้องการรับวันที่เวลาวันปัจจุบันโดยใช้ laravel

ฉันพยายามสะท้อน $ldate = new DateTime('today');และ$ldate = new DateTime('now');

แต่มันกลับมา 1 เสมอ

ฉันจะรับวันที่, เวลา, วันในปัจจุบันได้อย่างไร


4
ใช้date(). ไม่ต้องซับซ้อนเรื่องง่าย ๆ เพิ่มค่าโสหุ้ยที่ไม่จำเป็น
Mārtiņš Briedis

1
ฉันคิดว่าปัญหาหลักคือคุณกำลังทำecho $now = new DateTime();ในขณะที่คุณควรตั้งค่าตัวแปรโดยไม่ใช้echo(เช่น do $now = new DateTime();) จากนั้นเมื่อคุณต้องการสะท้อนคุณต้องใช้format()วิธีการ ( เอกสาร ):echo $now->format('Y-m-d');
alexrussell

คำตอบ:


212

Laravel มีการCarbonพึ่งพาติดอยู่

Carbon::now()รวมCarbon\Carbonเนมสเปซหากจำเป็น

แก้ไข (การใช้งานและเอกสาร)

สมมติว่าฉันต้องการดึงข้อมูลวันที่และเวลาและส่งออกเป็นสตริง

$mytime = Carbon\Carbon::now();
echo $mytime->toDateTimeString();

สิ่งนี้จะแสดงผลในรูปแบบปกติY-m-d H:i:sมีรูปแบบที่สร้างไว้ล่วงหน้าจำนวนมากและคุณไม่จำเป็นต้องยุ่งกับสตริงเวลาวันที่ของ PHP อีกครั้งด้วย Carbon

เอกสารประกอบ: https://github.com/briannesbitt/Carbon

รูปแบบสตริงสำหรับ Carbon: http://carbon.nesbot.com/docs/#api-formatting


4
ใช้คาร์บอน \ คาร์บอน; คือการประกาศเนมสเปซ
Kiren Siva

วิธีแยกชื่อวันจาก 2016/2/20 ใน laravel 5 ?? กรุณาตอบกลับ
sabin maharjan

6
@AngularAngularAngular UseCarbon::now()->format('d-m-Y')
EThaizone Jo

1
ติดตามเอกสาร Carbon ของคุณ จะไม่มีใครเขียนโค้ดให้คุณ คำตอบคือสิ่งที่ OP ถาม
kratos

61

ลองสิ่งนี้

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

13
@ เจนไนทำไมต้องทำทาง "laravel"? Laravel เป็น "php way" :)
Mārtiņš Briedis

3
เมื่อคุณสามารถเข้าถึงคลาสเช่น Carbon ที่ผ่านการทดสอบอย่างสมบูรณ์แล้วการใช้ประโยชน์เหล่านี้จะมีประโยชน์เสมอ เหตุใดจึงต้องคิดค้นล้อใหม่เมื่อมีการใช้งานที่มีประสิทธิภาพซึ่งตอบสนองสิ่งที่คุณต้องการและอื่น ๆ อีกมากมาย
Everon

3
@Everon การใช้ฟังก์ชันหลักในตัวไม่ได้เป็นการคิดค้นล้อใหม่ ผู้คนมักต้องการเอาชนะสิ่งที่ซับซ้อน: S
Mārtiņš Briedis

3
คุณเพียงแค่ตั้งค่าเขตเวลาที่ถูกต้องในการกำหนดค่าส่วนกลางและนั่นก็เป็นวิธีเดียวกับงานคาร์บอน มันเป็นเรื่องโง่ที่จะทำสิ่งต่างๆ "laravel way" เพราะมันดูแฟนซีมากขึ้น? \Carbon\Carbon::now()->format('d.m.Y');ดีกว่านี้ยังdate('d.m.Y')ไง?
Mārtiņš Briedis

2
ขอบคุณดังนั้นdate('Y-m-d H:i:s')จะไม่เจ็บด้วยใช่ไหม
AngularAngularAngular

51

PHP มีฟังก์ชันวันที่ซึ่งทำงานได้ดีมาก ด้วย laravel และ blade คุณสามารถใช้สิ่งนี้ได้โดยไม่ต้องใช้<?phpแท็กสะท้อนที่น่าเกลียด ตัวอย่างเช่นฉันใช้สิ่งต่อไปนี้ใน.blade.phpไฟล์ ...

Copyright © {{ date('Y') }}

... และ Laravel / blade แปลว่าเป็นปีปัจจุบัน หากคุณต้องการวันที่และวันคุณจะใช้สิ่งนี้:

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


11

หลังจาก Laravel 5.5 คุณสามารถใช้ฟังก์ชัน now () เพื่อรับวันที่และเวลาปัจจุบัน

ในไฟล์ใบมีดคุณสามารถเขียนแบบนี้เพื่อพิมพ์วันที่

{{  now()->toDateTimeString('Y-m-d') }}

ใส่คำอธิบายภาพที่นี่


นี่ไม่ได้ตอบคำถามจริงๆ แต่มันช่วยฉันได้ :)
lewis

6

นี่เป็นอีกวิธีหนึ่งในการทำเช่นนี้

Use \Carbon\Carbon;

$ date = คาร์บอน :: now ();

echo $ date-> toRfc850String ();

เอาต์พุตจะเป็นแบบนี้

Saturday, 11-May-19 06:28:04 UTC

4

สำหรับ LARAVEL 5.x

ฉันคิดว่าคุณกำลังมองหาสิ่งนี้

$errorLog->timestamps = false;
$errorLog->created_at = date("Y-m-d H:i:s");


3

เกี่ยวกับ

    $date = Carbon::now();
    return $date->toArray();

จะให้คุณ

{
  "ปี": 2019,
  "เดือน": 1,
  "วัน": 27,
  "dayOfWeek": 0,
  "dayOfYear": 26,
  "ชั่วโมง": 10,
  "นาที": 28,
  "วินาที": 55,
  "englishDayOfWeek": "วันอาทิตย์",
  "ไมโคร": 967721,
  "การประทับเวลา": 1548570535,
  "formatted": "2019-01-27 10:28:55",
  "เขตเวลา": {
    "timezone_type": 3,
    "timezone": "เอเชีย / ดูไบ"
  }
}

อุปกรณ์ประกอบฉากเดียวกันสามารถเข้าถึงได้ผ่าน

    กลับ [
             'date' => $ date-> รูปแบบ ('Ym-d'),
              'year' => $ date-> ปี
              'month' => $ date-> เดือน
              'day' => $ date-> วัน,
              'hour' => $ date-> ชั่วโมง
              'isSaturday' => $ date-> isSaturday (),
          ];



1

คุณมีตัวช่วยสองสามตัว

ผู้ช่วยตอนนี้ () https://laravel.com/docs/7.x/helpers#method-now

ผู้ช่วย now () มีอาร์กิวเมนต์ที่เป็นทางเลือกคือเขตเวลา ดังนั้นคุณสามารถใช้ตอนนี้:

now();

หรือ

now("Europe/Rome");

ในทำนองเดียวกันคุณสามารถใช้ผู้ช่วยวันนี้ () https://laravel.com/docs/7.x/helpers#method-today นี่คือ "สิ่งเดียวกัน" ของตอนนี้ () แต่ไม่มีชั่วโมงนาทีวินาที

ส่วนด้านท้ายใต้ฝากระโปรงก็ใช้ Carbon เช่นกัน


0
//vanilla php
Class Date {
    public static function date_added($time){
         date_default_timezone_set('Africa/Lagos');//or choose your location
        return date('l F Y g:i:s ',$time);

    }


}

0

คุณสามารถกำหนดเขตเวลาบน AppServicesProvider ของคุณในโฟลเดอร์ผู้ให้บริการ

public function boot()
{
    Schema::defaultStringLength(191);
    date_default_timezone_set('Africa/Lagos');
}

จากนั้นuse Import Carbon\Carbon และเพียงuse Carbon::now()// เพื่อรับเวลาปัจจุบันหากคุณต้องการจัดรูปแบบโปรดดูเอกสารประกอบสำหรับตัวเลือกเพิ่มเติมตามความต้องการของคุณให้ป้อนคำอธิบายลิงก์ที่นี่


0

หากคุณต้องการวันที่ของวันนี้

ใช้เนมสเปซ

use Carbon\Carbon as time;

รหัส,

 $mytime=time::now();
 $date=$mytime->toRfc850String();
 $today= substr($date, 0, strrpos($date, ","));
 dd($today)

เอาท์พุท "Sunday"


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.