我有一个变量,它以下列格式输出日期:
201308131830
2013年8月13日 - 18:30
我正在使用它来检索日期名称但它的日期错误了:
$dayname = date('D', strtotime($longdate));
知道我做错了吗?
答案 0 :(得分:18)
当您以非标准格式存储日期和时间时会发生这种情况。与他们合作会产生问题。
$datetime = DateTime::createFromFormat('YmdHi', '201308131830');
echo $datetime->format('D');
答案 1 :(得分:11)
您的代码适合我
$date = '15-12-2016';
$nameOfDay = date('D', strtotime($date));
echo $nameOfDay;
如果您更喜欢名称
的全文表示,请使用l而不是D.答案 2 :(得分:4)
echo date('D', strtotime($date));
echo date('l', strtotime($date));
结果
Tue
Tuesday
答案 3 :(得分:3)
您的代码适合我。
$input = 201308131830;
echo date("Y-M-d H:i:s",strtotime($input)) . "\n";
echo date("D", strtotime($input)) . "\n";
输出:
2013-Aug-13 18:30:00
Tue
然而如果您将201308131830
作为号传递,则它比32位整数表示的大50到100倍。 [取决于您系统的具体实现]如果您的服务器/ PHP版本不支持64位整数,那么该数字将溢出,最终可能会以负数输出,而date()
将默认为Jan 1, 1970 00:00:00 GMT
确保您检索此数据的任何来源都将该日期作为字符串返回,并将其保留为字符串。
答案 4 :(得分:1)
由于您的时间格式不在supported date and time formats of PHP.
范围内,因此无法使用strtotime
因此,您必须首先使用createFromFormat function创建有效的日期格式。
//creating a valid date format
$newDate = DateTime::createFromFormat('YmdHi', $longdate);
//formating the date as we want
$finalDate = $newDate->format('D');
答案 5 :(得分:1)
似乎您可以通过以下方式使用date()和小写“L”格式字符:
$weekday_name = date("l", $timestamp);
答案 6 :(得分:0)
对于其他语言,请使用星期几来识别日期名称
例如下面的代码用于波斯语
$dayName = getDayName(date('w', strtotime('2019-11-14')));
function getDayName($dayOfWeek) {
switch ($dayOfWeek){
case 6:
return 'شنبه';
case 0:
return 'یک شنبه';
case 1:
return 'دو شنبه';
case 2:
return 'سه شنبه';
case 3:
return 'چهار شنبه';
case 4:
return 'پنج شنبه';
case 5:
return 'جمعه';
default:
return '';
}
}
答案 7 :(得分:0)
$date = new \DateTime("now", new \DateTimeZone('Asia/Calcutta') );
$day = $date->format('D');
$weekendnaame = weekedName();
$weekid =$weekendnaame[$day];
$dayname = 0;
$weekiarray = weekendArray($weekid);
foreach ($weekiarray as $key => $value) {
if (in_array($value, $request->get('week_id')))
{
$dayname = $key+1;
break;
}
}
weeknDate($dayname),
function weeked(){
$week = array("1"=>"Sunday", "2"=>"Monday", "3"=>"Tuesday", "4"=>"Wednesday", "5"=>"Thursday", "6"=>"Friday", "7"=>"Saturday");
return $week;
}
function weekendArray($day){
$favcolor = $day;
switch ($favcolor) {
case 1:
$array = array(2,3,4,5,6,7,1);
break;
case 2:
$array = array(3,4,5,6,7,1,2);
break;
case 3:
$array = array(4,5,6,7,1,2,3);
break;
case 4:
$array = array(5,6,7,1,2,3,4);
break;
case 5:
$array = array(6,7,1,2,3,4,5);
break;
case 6:
$array = array(7,1,2,3,4,5,6);
break;
case 7:
$array = array(1,2,3,4,5,6,7);
break;
default:
$array = array(1,2,3,4,5,6,7);
}
return $array;
}
function weekedName(){
$week = array("Sun"=>0,"Mun"=>1,"Tue"=>3,"Wed"=>4,"Thu"=>5,"Fri"=>6,"Sat"=>7);
return $week;
}
答案 8 :(得分:0)
非常简单的带有月份和年份的简短星期名称
echo date('D, d-M-y');
输出
Tue, 16-Feb-21
根据我的要求
return $item->start_time->format("D, d-M");
输出
Tue, 16-Feb