假設你有以下日期範圍:如何兩個日期合併成一個正常的人類可讀的日期範圍
2010-04-10 - 2010-04-15
作爲一個人,我可能會這樣寫爲April 10 - 15, 2010
,或者類似的東西。不知道是否有定義正確的寫作範圍的方式,但無論如何,如果你要做這樣的事情,你會怎麼做?我什至不知道從哪裏開始...
我想這樣做,這樣的日期範圍可能可以更緊湊,更易於閱讀,也更好看。
假設你有以下日期範圍:如何兩個日期合併成一個正常的人類可讀的日期範圍
2010-04-10 - 2010-04-15
作爲一個人,我可能會這樣寫爲April 10 - 15, 2010
,或者類似的東西。不知道是否有定義正確的寫作範圍的方式,但無論如何,如果你要做這樣的事情,你會怎麼做?我什至不知道從哪裏開始...
我想這樣做,這樣的日期範圍可能可以更緊湊,更易於閱讀,也更好看。
我不認爲有一個明確的方法來做,基本上它只是邏輯。嘗試用純文本寫下你認爲規則應該用一些例子。就像你給的例子是一個很好的例子。如果他們是不同的月份呢?如果是2005年4月到2007年4月,那是2005年4月?
一旦你有了純文本規則,代碼將變得簡單。這只是決定如何格式化它。
絕對正確。這不是一個編碼問題。這是一個規範問題。 – wallyk 2010-09-28 23:15:59
這是我在項目中使用的示例代碼。希望能幫助到你。
$start_date = strtotime('2012-11-01');
$end_date = strtotime('2012-11-02');
if ($end_date != '') {
$year1 = date('Y', $start_date);
$year2 = date('Y', $end_date);
$month1 = date('m', $start_date);
$month2 = date('m', $end_date);
if ($start_date < $end_date) {
if ($year1 != $year2) {
$holiday_date = date('F j, Y', $start_date) . ' to ' . date('F j, Y', $end_date);
}
else {
if ($month1 != $month2) {
$holiday_date = date('F j', $start_date) . '–' . date('F j', $end_date) . ', '. date('Y', $end_date);
}
else {
$holiday_date = date('F j', $start_date) . '–' . date('j', $end_date) . ', '. date('Y', $end_date);
}
}
}
else {
$holiday_date = 'Invalid date range.';
}
}
else {
$holiday_date = date('F j, Y', $start_date);
}
echo $holiday_date;
需要一點點信息。你只是想顯示日期或操縱它們?你在使用一個日期(範圍)還是兩個單獨的日期?如果它是兩個,那麼我想它只是將它們格式化爲你想要的味道,然後簡單地將它們打印在一起? – aLostMonkey 2010-09-28 22:50:05
是的,這只是一個格式化的情況。像'函數格式($ date1,$ date2)'或其他。 – Svish 2010-09-29 10:05:30
失望沒有「使用這個圖書館」的答案仍然是:/ – lkraav 2017-08-03 13:26:02