js字符串時間格式轉成時間戳,轉成對應的英文字母。

common.js//工具類



//說明:生成GUID
 function getUUID32() {
    var guid = "";
    for (var i = 1; i <= 32; i++) {
        var n = Math.floor(Math.random() * 16.0).toString(16);
        guid += n;
    }
    return guid;
}//end NEWID

/**
 * 獲取當前月的第一天
 */
function getCurrentMonthFirst(){
    var date=new Date();
    date.setDate(1);
    return date;
}
/**
 * 獲取當前月的最後一天
 */
function getCurrentMonthLast(){
    var date=new Date();
    var currentMonth=date.getMonth();
    var nextMonth=++currentMonth;
    var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
    var oneDay=1000*60*60*24;
    // var dateMothD = new Date(nextMonthFirstDay-oneDay);
    return new Date(nextMonthFirstDay);
}

function GetQueryString(name)
{
    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if(r!=null)return  unescape(r[2]); return null;
}
function getNewDate(date){
    var seperator1 = "-";
    var seperator2 = ":";
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    return  date.getFullYear() + seperator1 + month + seperator1 + strDate
        + " " + date.getHours() + seperator2 + date.getMinutes()
        + seperator2 + date.getSeconds();
}
//擴展Date的format方法
Date.prototype.format = function (format) {
    var o = {
        "M+": this.getMonth() + 1,
        "d+": this.getDate(),
        "h+": this.getHours(),
        "m+": this.getMinutes(),
        "s+": this.getSeconds(),
        "q+": Math.floor((this.getMonth() + 3) / 3),
        "S": this.getMilliseconds()
    };
    if (/(y+)/.test(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
        }
    }
    return format;
};
function DateFormat(date){
    d=new Date(date); //創建一個Date對象
    localTime = d.getTime();
    localOffset=d.getTimezoneOffset()*60000; //獲得當地時間偏移的毫秒數
    utc = localTime + localOffset; //utc即GMT時間
    offset =8; //以夏威夷時間爲例,東10區
    hawaii = utc + (3600000*offset);
    return new Date(hawaii);
}
/**
 *轉換日期對象爲日期字符串
 * @param date 日期對象
 * @param isFull 是否爲完整的日期數據,
 * 爲true時, 格式如"2000-03-05 01:05:04"
 * 爲false時, 格式如 "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatDate(date, isFull) {
    var pattern = "";
    if (isFull == true || isFull == undefined) {
        pattern = "yyyy-MM-dd hh🇲🇲ss";
    } else {
        pattern = "yyyy-MM-dd";
    }
    return getFormatDate(date, pattern);
}
/**
 *
 */
function getSmpWFormatDate(date, isFull){
    var pattern = "";
    if (isFull == true || isFull == undefined) {
        pattern = "yyyy-MM-dd hh🇲🇲ss q";
    } else {
        pattern = "yyyy-MM-dd";
    }
    return getFormatDate(date, pattern);
}

/**
 *轉換當前日期對象爲日期字符串
 * @param date 日期對象
 * @param isFull 是否爲完整的日期數據,
 * 爲true時, 格式如"2000-03-05 01:05:04"
 * 爲false時, 格式如 "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatNowDate(isFull) {
    return getSmpFormatDate(new Date(), isFull);
}

/**
 *轉換當前日期對象爲日期字符串
 * @param date 日期對象
 * @param isFull 是否爲完整的日期數據,
 * 爲true時, 格式如"2000-03-05 01:05:04"
 * 爲false時, 格式如 "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatQDate(date , isFull) {
    return getSmpFormatDate(date, isFull);
}


/**
 * 前補位操作
 */
function indexString(data , lenght , string){
    var stringLenght = lenght-data.length;
    var stringData = "";
    if(stringLenght>0){//需要補位
        for(var i=1 ; i<=stringLenght ; i++){
            stringData+= string;
        }
        return stringData+data;
    }

}


/**
 *轉換long值爲日期字符串
 * @param l long值
 * @param isFull 是否爲完整的日期數據,
 * 爲true時, 格式如"2000-03-05 01:05:04"
 * 爲false時, 格式如 "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatDateByLong(l, isFull) {
    console.info(l);
    if(l==null || l=="" || l==0 || l=="0"){
        return "";
    }
    return getSmpFormatDate(DateFormat(l) , isFull);
}
/**
 *轉換long值爲日期字符串
 * @param l long值
 * @param pattern 格式字符串,例如:yyyy-MM-dd hh🇲🇲ss
 * @return 符合要求的日期字符串
 */
function getFormatDateByLong(l, pattern) {
    return getFormatDate(DateFormat(l), pattern);
}
/**
 *轉換日期對象爲日期字符串
 * @param l long值
 * @param pattern 格式字符串,例如:yyyy-MM-dd hh🇲🇲ss
 * @return 符合要求的日期字符串
 */
function getFormatDate(date, pattern) {
    if (date == undefined) {
        date = new Date();
    }
    if (pattern == undefined) {
        pattern = "yyyy-MM-dd hh🇲🇲ss";
    }
    return date.format(pattern);
}

function getFormataDate(date, pattern) {
    if (date == undefined) {
        date = new Date();
    }
    if (pattern == undefined) {
        pattern = "yyyy-MM";
    }
    return date.format(pattern);
}

/*'yyyy-MM-dd HH🇲🇲ss'格式的字符串轉日期*/
function stringToDate(str){
    var tempStrs = str.split(" ");
    var dateStrs = tempStrs[0].split("-");
    var year = parseInt(dateStrs[0], 10);
    var month = parseInt(dateStrs[1], 10) - 1;
    var day = parseInt(dateStrs[2], 10);

    var date = new Date(year, month, day);
    return date;
}

var now = new Date();                    //當前日期
var nowDayOfWeek = now.getDay();         //今天本週的第幾天
var nowDay = now.getDate();              //當前日
var nowMonth = now.getMonth();           //當前月
var nowYear = now.getYear();             //當前年
nowYear += (nowYear < 2000) ? 1900 : 0;  //

//格式化日期:yyyy-MM-dd
function formatDate(date) {
    var myyear = date.getFullYear();
    var mymonth = date.getMonth()+1;
    var myweekday = date.getDate();

    if(mymonth < 10){
        mymonth = "0" + mymonth;
    }
    if(myweekday < 10){
        myweekday = "0" + myweekday;
    }
    return (myyear+"-"+mymonth + "-" + myweekday);
}


//獲得本週的開始日期
function getWeekStartDate() {
    var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
    return formatDate(weekStartDate);
}

//獲得本週的結束日期
function getWeekEndDate() {
    var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
    return formatDate(weekEndDate);
}



直接引入common.js這個封裝好的時間工具或者單獨用stringToDate(str)這個方法。

function stringToDate(str){
		    var tempStrs = str.split(" ");
		    var dateStrs = tempStrs[0].split("-");
		    var year = parseInt(dateStrs[0], 10);
		    var month = parseInt(dateStrs[1], 10) - 1;
		    var day = parseInt(dateStrs[2], 10);

		    var date = new Date(year, month, day);
		    return date;
		}

首先因爲後臺返回來的時間是yyyy-mm-dd hh🇲🇲ss的字符串,所以先把字符串轉成時間戳,然後才能調用getFullYear(),.getMonth()+1,.getDate(),.getDay(),.getHours(),.getMinutes(),.getSeconds()等。

然後再用方法轉成對應的英文,比方說月份轉成對應的英文:

$(function(){
	var m=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Spt","Oct","Nov","Dec");
	mn=stringToDate(json.date).getMonth();//json.date是從後臺獲取過來的字符串時間
	//alert(m[mn]);
			})

例子:

function stringToDate(str){
		    var tempStrs = str.split(" ");
		    var dateStrs = tempStrs[0].split("-");
		    var year = parseInt(dateStrs[0], 10);
		    var month = parseInt(dateStrs[1], 10) - 1;
		    var day = parseInt(dateStrs[2], 10);

		    var date = new Date(year, month, day);
		    return date;
		}

$(function(){
   
	$.each(json.info,function(i,e){
		var m=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Spt","Oct","Nov","Dec");
		var day=e.pubdate.split("-")[2];
		mn=stringToDate(e.pubdate).getMonth();
		$($(".news-lists article")[i]).find(".news-day").html(day.split(" ")[0]);//日
		$($(".news-lists article")[i]).find(".news-month").html(m[mn]);//月
	})
})

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章