Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
絡編程之時間格式。
同學們好,今天我們分享的是如何讓搜索引擎等程序更容易地提取網頁中的時間信息。我們將使用time標簽來實現這一目標。這個標簽你們可能已經有所了解,但是現在不需要掌握太多細節,只需要知道它的作用即可。
現在來看看我們的示例頁面,可以看到頁面中包含了很多句不同時間格式的文字。這些文字并沒有什么特別之處,只是每一句都包含著時間信息。時間信息的格式比較復雜,但是這不影響我們的演示效果。
接下來,我們將介紹實現代碼。time標簽用于定義公歷日期或時間、二十四小時制,時間和時區偏移是可選的。在所有瀏覽器中,time標簽不會渲染任何特殊的效果。但是,它可以讓搜索引擎更容易地在網頁中找到對應的時間信息。
使用time標簽的另一個原因是,世界上有許多不同的日期格式,但是這些不同的格式不容易被電腦識別。如果我們想自動抓取頁面上所有事件的日期并將它們插入到日歷中,time元素可以讓我們附上清晰的可被機器識別的時間或日期。因此,time標簽并不是為了給用戶看的,而是為了方便搜索引擎更好地在網頁上找到對應的時間。
在我們的示例中,時間和普通文字看上去沒有任何區別。除了搜索引擎,網頁同手機上的日歷、提醒等應用程序交互時,time標簽也可以提供很大的方便。
time標簽非常簡單,只包含一個屬性datatime,用于規定日期和時間。如果需要,我們還可以通過元素的內容來指定日期和時間。time標簽的值有很多種,只要是符合規范的時間寫法格式,都可以被接受并轉化為第三方使用的格式。
總之,time標簽的使用頻率并不高,不需要我們進行太多的學習和理解。如果你們知道有這個東西并且知道它的大概意思,就可以了。
今天的分享就到這里,所有的案例和相關文檔都可以向我索取。
下期見,想學習編程的同學請關注我。
var d = new Date();
親自試一試
構建的應用程序的時候都會帶有日期時間組件,無論是資源的創建日期還是活動的時間戳。在本文中,我將分享如何在JavaScript中以各種格式獲取當前日期。
const date = new Date();
該Date對象包含一個Number,表示從新紀元(即1970年1月1日)起經過的毫秒數。你可以將日期字符串傳遞給Date構造函數以創建指定日期的對象:
const date = new Date('Jul 12 2011');
要獲取當前年份,可以使用對象的getFullYear()方法。getFullYear()方法在Date構造函數中返回指定日期的年份:
const currentYear = date.getFullYear();
console.log(currentYear); //2020
同樣,有一些方法可以獲取當月的當前日期和當前的月份:
const today = date.getDate();
const currentMonth = date.getMonth() + 1;
該getDate()方法返回每月的當前日期(1-31)。使用getMonth()方法返回指定日期的月份,需要注意的一點是,該方法返回0索引值(0-11),其中0表示一月,11表示十二月。因此,加1可以使月份的值標準化。
now()是Date對象的靜態方法。它以毫秒為單位的值返回,該值表示從紀元以來所經過的時間。你可以將now()方法返回的毫秒數傳遞給Date構造函數以實例化新Date對象:
const timeElapsed = Date.now();
const today = new Date(timeElapsed);
你可以使用Date對象的方法將日期格式化為多種格式(GMT,ISO等)。該toDateString()方法以我們可讀的格式返回日期:
today.toDateString(); // "Sun Jun 16 2020"
toISOString()返回遵循ISO 8601擴展格式的日期:
today.toISOString(); // "2020-06-16T08:30:00.000Z"
toUTCString()以UTC時區格式返回日期:
today.toUTCString(); // "Sat, 16 Jun 2020 08:30:00 GMT"
toLocaleDateString()以地區區時的格式返回日期:
today.toLocaleDateString(); // "6/16/2020"
除了上面提到的格式外,你的應用程序可能具有不同的數據格式。它可以是yy/dd/mm或yyyy-dd-mm格式,或者類似的格式。為了解決這個問題,最好創建一個可重用的函數,以便可以在多個項目中使用它。因此,接下來,讓我們創建一個實用程序函數,該函數將以函數參數中指定的格式返回日期:
const today = new Date();
function formatDate(date, format) {
//
}
formatDate(today, 'mm/dd/yy');
你需要使用參數中傳遞格式字符串中的月份,日期和年份分別替換字符串“ mm”,“ dd”,“ yy”。然后,使用replace(),如下所示的方法:
format.replace('mm', date.getMonth() + 1);
但是,這將導致很多methods連接在一起,并且會讓我們嘗試把函數變得更靈活更適合我們的項目時產生麻煩:
.replace('yy', date.getFullYear())
.replace('dd', date.getDate());
然后可以使用正則表達式代替methods來連接methods replace()。首先創建一個對象,該對象將代表子字符串的鍵值對及其各自的值:
const formatMap = {
mm: date.getMonth() + 1,
dd: date.getDate(),
yy: date.getFullYear().toString().slice(-2),
yyyy: date.getFullYear()
};
接下來,使用正則表達式匹配并替換字符串:
formattedDate = format.replace(/mm|dd|yy|yyy/gi, matched => map[matched]);
完整的功能及代碼如下所示:
function formatDate(date, format) {
const map = {
mm: date.getMonth() + 1,
dd: date.getDate(),
yy: date.getFullYear().toString().slice(-2),
yyyy: date.getFullYear()
}
return format.replace(/mm|dd|yy|yyy/gi, matched => map[matched])
}
你還可以在函數中添加格式化時間戳的功能。
你現在對DateJavaScript 中的對象有更好的了解。你也可以使用其他第三方庫(例如datesj和)moment來處理應用程序中的日期。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。