簡體   English   中英

如何從輸入中輸入mysql中的時間戳

[英]how to enter time-stamps in mysql from an input

我需要在Laravel應用程序的輸入中插入MySQL中的Timestamp

來自我輸入的數據采用這種格式12/27/2017 MM/DD/YYYY如何將其轉換為此格式Ymd H:i:s

任何替代方案都非常受歡迎,比如來自我們使用的輸入的傳遞數據,我可以獲得timestamp格式的數據。

最后,我需要order by date排序數據

如果你想用Laravel方式做,你可以使用mutatorCarbon 這是一個模型的例子:

use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model

class Post extends Model {

    protected $dates = ['date'];


    public function setDateAttribute($value)
    {
        $this->attributes['date'] = Carbon::createFromFormat('d/m/Y', $value);
    }
}

現在,當您更新或創建發布date屬性時,將自動轉換。 所以你可以像這樣保存它:

$post = new Post(); 
$post->date = '16/12/2017';
$post->save();

您可以使用DateTime:

$inputDate = \DateTime::createFromFormat('m/d/Y', '12/27/2017');
$formatedDate = $inputDate->format('Y-m-d H:i:s');

至於我,我以這種方式完成了日期轉換,例如發票。 我希望這可以通過PHP完成。

$input_date = "12/15/2017"; // input in MM/DD/YYYY
$output_date = date('Y-m-d H:i:s',strtotime($input_date)); //set output to 2017-12-15 00:00:00
echo $output_date; //produce output

它會生成以下結果

2017-12-15 00:00:00

我希望這會奏效。 如果您只想要日期,可以根據您的目的省略H:i:s。 謝謝。

$date=date_create("12/27/2017");
$rawDate =  date_format($date,"Y/m/d");// Produced - 2017/12/27
echo  str_replace('/','-',$rawDate ); // Output - 2017-12-27
  • 添加H:i:s ,如果沒有時間,則在日期結束時添加00:00:00以空格開頭。

  • 如果您正在處理Laravel為每個表創建的created_atupdated_at ,則必須將00:00:00添加到日期結束,以便從相應日期開始獲取所有數據

如果我們想要輸入的日期格式與時間戳接受的格式不同,這個解決方案對我有用

Laravel的做法是

  protected $fillable = ['organization_name', 'job_apply_link', 'job_description', 'city_id', 'province_id', 'sector_id', 'image_file', 'test_id', 'newspaper_id', 'catagory_id', 'slug', 'meta_keywords', 'meta_description', 'job_title', 'created_at'];  

 public function setCreatedAtAttribute($value)
    {
        $inputDate = \DateTime::createFromFormat('m/d/Y', $value);
        $formatedDate = $inputDate->format('Y-m-d H:i:s');
        $this->attributes['created_at'] = $formatedDate;

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM