![](/img/trans.png)
[英]checkbox print custom array E.g. if chooses Mon, Wed, Fri, Sat, Sun
[英]Convert date to day name e.g. Mon, Tue, Wed
我有一個以以下格式輸出日期的變量:
201308131830
這是 2013 年 - 八月 - 13 - 18:30
我正在使用它來檢索日期名稱,但它的日期錯誤:
$dayname = date('D', strtotime($longdate));
知道我做錯了什么嗎?
當您以非標准格式存儲日期和時間時,就會發生這種情況。 與他們合作成為問題。
$datetime = DateTime::createFromFormat('YmdHi', '201308131830');
echo $datetime->format('D');
echo date('D', strtotime($date));
echo date('l', strtotime($date));
結果
Tue
Tuesday
你的代碼對我有用
$date = '15-12-2016';
$nameOfDay = date('D', strtotime($date));
echo $nameOfDay;
如果您更喜歡名稱的全文表示,請使用 l 而不是 D
你的代碼對我有用。
$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
。
確保您從中檢索此數據的任何來源將該日期作為字符串返回,並將其保留為字符串。
對於其他語言,請使用星期幾來識別日期名稱
例如波斯語使用下面的代碼
$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 '';
}
}
似乎您可以通過以下方式使用 date() 和小寫“L”格式字符:
$weekday_name = date("l", $timestamp);
對我來說效果很好,這里是文檔: http : //php.net/manual/en/function.date.php
您不能使用strtotime
因為您的時間格式不在PHP 支持的日期和時間格式范圍內。
因此,您必須首先使用createFromFormat 函數創建有效的日期格式。
//creating a valid date format
$newDate = DateTime::createFromFormat('YmdHi', $longdate);
//formating the date as we want
$finalDate = $newDate->format('D');
$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;
}
非常簡單的帶有月份和年份的簡短工作日名稱
echo date('D, d-M-y');
輸出
Tue, 16-Feb-21
按照我的要求
return $item->start_time->format("D, d-M");
輸出
Tue, 16-Feb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.