0

我正在尝试以正确的格式解析日期。所以我曾经Carbon解析日期。我使用 vuejs 作为前端,使用 laravel 作为后端。我正在将日期和其他信息从 vue 发送到 laravel。如果我通常发送日期 laravel 正确解析它。但是如果我将它作为 formData 发送,它无法解析日期并显示错误说Failed to parse time string (Wed Oct 02 2019 08:35:00 GMT+0600 (Bangladesh Standard Time)) at position 41 (d): Double timezone specification

Vue代码

`

                sendData(){
                    const config = {
                        headers: { 'content-type': 'multipart/form-data' }
                    }

                    var formData = new FormData;
                    formData.append('firstName',this.patient.firstName)
                    formData.append('lastName',this.patient.lastName)
                    formData.append('userName',this.patient.userName)
                    formData.append('email',this.patient.email)
                    formData.append('password',this.patient.password)
                    formData.append('admissionDate',this.patient.admissionDate)
                    formData.append('birthday',this.patient.birthday)
                    formData.append('nid_no',this.patient.nid_no)
                    formData.append('nid_image',this.patient.nid_image)
                    formData.append('gender',this.patient.gender)
                    formData.append('address',this.patient.address)
                    formData.append('country',this.patient.country)
                    formData.append('state',this.patient.state)
                    formData.append('city',this.patient.city)
                    formData.append('postalCode',this.patient.postalCode)
                    formData.append('phoneNumber',this.patient.phoneNumber)
                    formData.append('status',this.patient.status)
                    formData.append('id',this.patient.id)

                    var self = this
                   self.$http.post(apiDomain + 'api/patientAdmission',formData,config)
                   .then(response => {
                          if(response.status === 200){
                                console.log(response)
                                self.successModal()
                          }
                    }).catch((e)=>{
                      console.log(e)
                      self.failedModal()
                    })
                }

`

patient是一个位于data()

laravel 代码

`

公共功能患者入院(患者注册 $request){

    $validated = $request->validated();

    $firstName = $request ->firstName;
    $lastName = $request ->lastName;
    $email = $request ->email;
    $userName = $request ->userName;
    $password = bcrypt($request ->password);
    $admissionDate_formated = Carbon::parse($request->admissionDate);
    $birthday_formated = Carbon::parse($request->birthday);
    $gender = $request ->gender;
    $address = $request ->address;
    $country = $request ->country;
    $state = $request ->state;
    $city = $request ->city;
    $postalCode = $request ->postalCode;
    $phoneNumber = $request ->phoneNumber;
    $nid_no = $request ->nid_no;
    $nid_image = 'nid_image';
    $status = $request ->status;
    $date = Carbon::now()->toDateTimeString();
    $randomString = Str::random(32);

    Mail::raw('echo"<a href="http://localhost:8080/emailConfirmation/'.$email.'/'.$randomString.'">Click Here</a>"', function ($message) use ($email,$randomString){
        $message->to($email);
    });

    DB::table('users')->insert(
        ['first_name' => $firstName, 'last_name' => $lastName, 'email' => $email,'userName' => $userName,'password' => $password,'joining_date' => $admissionDate_formated,'birthday' => $birthday_formated,'gender' => $gender,'address' => $address,'country' => $country,'state' => $state,'city' => $city,'postal_code' => $postalCode,'phone_number' => $phoneNumber,'image' => null,'department' => null,'short_biography' => null,'doctor_id' => null,'receptionist_id' => null,'admin_id' => null,'nid_no' => $nid_no,'nid_image' => $nid_image,'status' => $status,'role' => 4,'email_verified_at' => NULL,'remember_token' => NULL,'remember_token' => $randomString,'created_at' => $date,'updated_at' => $date,'created_by' => '1','updated_by' => '1']
    );
  }

`

我做错了什么?

4

1 回答 1

1

我有一个类似的问题,向 carbon::parse 添加时区为我解决了这个问题。

在你的情况下,这将是这样的

$admissionDate_formated = Carbon::parse($request->admissionDate, 'GMT'); 
$birthday_formated = Carbon::parse($request->birthday, 'GMT');

您可以将 GMT 更改为您选择的时区。如果您需要特定格式的日期,您可以进一步格式化,如下所示

$admissionDate_formated = Carbon::parse($request->admissionDate, 'GMT')->format('Y-m-d'); 
$birthday_formated = Carbon::parse($request->birthday, 'GMT')->format('Y-m-d');

我希望这会有所帮助您可以查看碳文档以获取更多示例

于 2019-10-26T14:31:35.027 回答