我正在尝试使用ajax向Laravel函数执行GET请求。此请求具有以下参数:$ id,$ date,$ service_time。在Laravel函数中,我想将日期转换为Carbon日期。有没有解决方案将正确的java脚本日期格式转换为此Carbon格式?我只需要日期而不是时间。当我使用下面的代码时,我得到一个Unix时间戳,当我选择05-10-2017时,我得到的结果是04-10-2017。
var date = document.getElementById("startdate").value;
var newDate = new Date(date);
newDate.format("mm/dd/yy");
另一个问题我通过ajax中的URL发送参数。有更好的方法吗?
var base_url = "{{ url('/') }}";
$.ajax({
type: "GET",
url : base_url+"/company/available/1/18-10-2017/30",
//data: {id : 1, date: "2017/10/18", service_time: service_time},
success : function(data){
$.each($(data), function(key, value) {
if(value.availity == 1) {
console.log(value.availity);
$('#available').append($("<div class='beschikbaar-style'></div>").text(value.time));
}
});
}
});
});
这是调用函数的路径:
Route::get('company/available/{id}/{date}/{service_time}', 'AppointmentsController@get_available_times')->name('companies.getAvailableTimes');
这是一个名为的函数:
function get_available_times($company_id, $date, $service_time = false)
{
// $company_id = 1;
//$date = "2017-10-18";
// $service_time = 30;
$day = new Carbon($date);
答案 0 :(得分:0)
试试这个
$date = "2017-10-18";
$newDate = Carbon::parse($date)->now()->format('Y-m-d H:i:s');
dd($newDate); // 2017-10-05 15:52:17
答案 1 :(得分:0)
您可以使用createFromFormat函数,如下所示:
$day = \Carbon\Carbon::createFromFormat('mm-dd-yy', $date);
答案 2 :(得分:0)
我向Laravel发送javascript日期时遇到了同样的问题,这是因为Date对象的时区部分。
也许这个函数可以帮助将Date转换为SQL格式化字符串。这不是最好的JavaScript,但会有所帮助:)
function sqlDate (date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
var s = y.toString() + '-';
if (m < 10) {
s += '0' + m.toString() + '-';
} else {
s += m.toString() + '-';
}
if (d < 10) {
s += '0' + d.toString();
} else {
s += d.toString();
}
return s;
}