javascript - JS中有類似PHP date()方法嗎?

來源:互聯網
上載者:User
如題,想實現功能。
傳入時間戳記“1400000000”,返回格式:2015-01-01

PHP實現:date("Y-m-d H:i:s","1400000000");
javascript實現呢??

回複內容:

如題,想實現功能。
傳入時間戳記“1400000000”,返回格式:2015-01-01

PHP實現:date("Y-m-d H:i:s","1400000000");
javascript實現呢??

隨便實現了一下,寫的比較糙,但是可以實現

function getFormatDate(split,timeInMs){  var curr=new Date();  curr.setTime(timeInMs);  var year=curr.getFullYear();  var month=curr.getMonth()+1;  var date=curr.getDate();    var hours=curr.getHours();  var minutes=curr.getMinutes();  var seconds=curr.getSeconds();    var formatDateStr=year+split[0]+month+split[0]+date+" "+hours+split[1]+minutes+split[1]+seconds;  return formatDateStr;}var res=getFormatDate(["-",":"],1433456000345); //這裡要輸入13位元console.log(res); // 2015-6-5 6:13:20

https://github.com/jacwright/date.format

自己實現的話可以看以上幾位的,俺貼個外掛程式。

http://momentjs.cn/

相容大部分PHP裡面date函數的實現:

function date () {    if (arguments.length == 0) {        throw "date() expects at least 1 parameter, 0 given";    }    var format = arguments[0];    var time = arguments.length > 1 ? new Date(arguments[1] * 1000) : new Date();    var padding = function (str, length) {        return "0000".substr(0, length - str.toString().length) + str;    }    return format.replace(/[a-z]/ig, function (c){        var dayOfYear = function (time) {            return (time.getTime() - (new Date(time.getFullYear(), 0, 1)).getTime()) / 86400000 >> 0;        }        var daysOfMonth = function (time) {            var year = time.getFullYear();            var month = time.getMonth();            return ((new Date(year, month + 1, 1)).getTime() - (new Date(year, month, 1)).getTime()) / 86400000 >> 0;        }        var sign = function (num) {            return num >= 0 ? "+" : "-";        }        switch (c) {            case "d":                return padding(time.getDate());            case "D":                return ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][time.getDay()];            case "j":                return time.getDate();            case "l":                return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][time.getDay()];            case "N":                return [7, 1, 2, 3, 4, 5, 6][time.getDay()];            case "S":                switch(time.getDate()) {                    case 1:                        return "st";                    case 2:                    case 22:                        return "nd";                    case 3:                    case 23:                        return "rd";                }                return "th";            case "w":                return time.getDay();            case "z":                return dayOfYear(time);            case "W":                return dayOfYear(time) / 7 >> 0;            case "F":                return ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][time.getMonth()];            case "m":                return padding(time.getMonth() + 1, 2);            case "M":                return ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][time.getMonth()];            case "n":                return time.getMonth() + 1;            case "t":                return daysOfMonth(time);            case "L":                return dayOfyear(new Date(time.getFullYear() + 1, 0, 1)) == 365;            case "Y":                return time.getFullYear();            case "y":                return padding(time.getFullYear() % 100, 2);            case "a":                return time.getHours() >= 12 ? "am" : "pm";            case "A":                return time.getHours() >= 12 ? "AM" : "PM";            case "g":                return time.getHours() % 12;            case "G":                return time.getHours();            case "h":                return padding(time.getHours() % 12, 2);            case "H":                return padding(time.getHours(), 2);            case "i":                return padding(time.getMinutes(), 2);            case "s":                return padding(time.getSeconds(), 2);            case "u":                return time.getTime() % 1000 + "000";            case "O":                return sign(-time.getTimezoneOffset()) + padding(Math.abs(time.getTimezoneOffset()) / 60, 2) + "00";            case "P":                return sign(-time.getTimezoneOffset()) + padding(Math.abs(time.getTimezoneOffset()) / 60 >> 0, 2) + ":" + Math.abs(time.getTimezoneOffset()) % 60;            case "Z":                return -time.getTimezoneOffset();            case "U":                return time.getTime() / 1000 >> 0;            case "o":            case "B":            case "e":            case "I":            case "T":            case "c":            case "r":                throw c + " is not yet implemented.";            default:                return c;         }    })}

// 對Date的擴充,將 Date 轉化為指定格式的String// 月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個預留位置,// 年(y)可以用 1-4 個預留位置,毫秒(S)只能用 1 個預留位置(是 1-3 位的數字)function formatDate(date, fmt){ //author: meizz    fmt = fmt || 'yyyy-MM-dd hh:mm:ss';    var o = {        "M+" : date.getMonth()+1,                 //月份        "d+" : date.getDate(),                    //日        "h+" : date.getHours(),                   //小時        "m+" : date.getMinutes(),                 //分        "s+" : date.getSeconds(),                 //秒        "q+" : Math.floor((date.getMonth()+3)/3), //季度        "S"  : date.getMilliseconds()             //毫秒    };    if(/(y+)/.test(fmt))        fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));    for(var k in o)        if(new RegExp("("+ k +")").test(fmt))            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));    return fmt;}

不用謝我,我也是從其他地方抄的

var unixTimestamp = new Date(1446027232 * 1000);commonTime = unixTimestamp.toLocaleString();

希望這個也能幫到你一點。

有,不過不太好用。
另附其他語言版本

Java    timeJavaScript    Math.round(new Date().getTime()/1000)getTime()返回數值的單位是毫秒Microsoft .NET / C#    epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000MySQL    SELECT unix_timestamp(now())Perl    timePHP    time()PostgreSQL    SELECT extract(epoch FROM now())Python    先 import time 然後 time.time()Ruby    擷取Unix時間戳記:Time.now 或 Time.new顯示Unix時間戳記:Time.now.to_iSQL Server    SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())Unix / Linux    date +%sVBScript / ASP    DateDiff("s", "01/01/1970 00:00:00", Now())其他動作系統(如果Perl被安裝在系統中)    命令列狀態:perl -e "print time"

建議使用momentjs,出bug的機會小;不過有時間可以研究樓上自己寫的擴充。

https://segmentfault.com/q/1010000000701472/a-1020000005044252?utm_source=Weibo
樓上代碼都不錯,這裡也有一個,大同小異.

function formatDate(now)   {                   var   year=now.getYear();                   var   month=now.getMonth()+1;                   var   date=now.getDate();                   var   hour=now.getHours();                   var   minute=now.getMinutes();                   var   second=now.getSeconds();                   return   year+"-"+month+"-"+date+"   "+hour+":"+minute+":"+second;      } 

可以試試這個函數。
改下這個就行。
return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;

sdfsdfsd

sdfsadfsd
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.