502

我正在尝试使用 JS 将 a转换为格式date object的字符串。YYYYMMDD有比连接Date.getYear(),Date.getMonth()和更简单的方法Date.getDay()吗?

4

50 回答 50

690

我经常使用的修改后的代码:

Date.prototype.yyyymmdd = function() {
  var mm = this.getMonth() + 1; // getMonth() is zero-based
  var dd = this.getDate();

  return [this.getFullYear(),
          (mm>9 ? '' : '0') + mm,
          (dd>9 ? '' : '0') + dd
         ].join('');
};

var date = new Date();
date.yyyymmdd();
于 2010-06-18T07:37:09.957 回答
371

我不喜欢添加到原型中。另一种选择是:

var rightNow = new Date();
var res = rightNow.toISOString().slice(0,10).replace(/-/g,"");

<!-- Next line is for code snippet output only -->
document.body.innerHTML += res;

于 2013-05-23T13:14:14.527 回答
222

您可以使用以下toISOString功能:

var today = new Date();
today.toISOString().substring(0, 10);

它会给你一个“yyyy-mm-dd”格式。

于 2015-02-10T12:37:05.710 回答
161

Moment.js可能是你的朋友

var date = new Date();
var formattedDate = moment(date).format('YYYYMMDD');
于 2015-08-19T14:21:45.050 回答
45
new Date('Jun 5 2016').
  toLocaleString('en-us', {year: 'numeric', month: '2-digit', day: '2-digit'}).
  replace(/(\d+)\/(\d+)\/(\d+)/, '$3-$1-$2');

// => '2016-06-05'
于 2016-06-06T03:11:06.890 回答
41

YYYY-MM-DD这是可用于创建今天日期字符串的单行代码。

var d = new Date().toISOString().slice(0,10);
于 2016-03-16T22:23:29.000 回答
40

如果你不需要纯 JS 解决方案,你可以使用 jQuery UI 来完成这样的工作:

$.datepicker.formatDate('yymmdd', new Date());

我通常不喜欢导入太多的库。但是 jQuery UI 非常有用,您可能会在项目的其他地方使用它。

访问http://api.jqueryui.com/datepicker/获取更多示例

于 2013-12-18T21:46:05.730 回答
31

我不喜欢修改原生对象,而且我认为乘法比填充接受的解决方案的字符串更清晰。

function yyyymmdd(dateIn) {
  var yyyy = dateIn.getFullYear();
  var mm = dateIn.getMonth() + 1; // getMonth() is zero-based
  var dd = dateIn.getDate();
  return String(10000 * yyyy + 100 * mm + dd); // Leading zeros for mm and dd
}

var today = new Date();
console.log(yyyymmdd(today));

小提琴:http: //jsfiddle.net/gbdarren/Ew7Y4/

于 2014-06-13T22:30:53.240 回答
27

除了 oo 的回答之外,我还建议将逻辑操作与返回分开,并将它们作为三元组放在变量中。

此外,用于concat()确保变量的安全连接

Date.prototype.yyyymmdd = function() {
  var yyyy = this.getFullYear();
  var mm = this.getMonth() < 9 ? "0" + (this.getMonth() + 1) : (this.getMonth() + 1); // getMonth() is zero-based
  var dd = this.getDate() < 10 ? "0" + this.getDate() : this.getDate();
  return "".concat(yyyy).concat(mm).concat(dd);
};

Date.prototype.yyyymmddhhmm = function() {
  var yyyymmdd = this.yyyymmdd();
  var hh = this.getHours() < 10 ? "0" + this.getHours() : this.getHours();
  var min = this.getMinutes() < 10 ? "0" + this.getMinutes() : this.getMinutes();
  return "".concat(yyyymmdd).concat(hh).concat(min);
};

Date.prototype.yyyymmddhhmmss = function() {
  var yyyymmddhhmm = this.yyyymmddhhmm();
  var ss = this.getSeconds() < 10 ? "0" + this.getSeconds() : this.getSeconds();
  return "".concat(yyyymmddhhmm).concat(ss);
};

var d = new Date();
document.getElementById("a").innerHTML = d.yyyymmdd();
document.getElementById("b").innerHTML = d.yyyymmddhhmm();
document.getElementById("c").innerHTML = d.yyyymmddhhmmss();
<div>
  yyyymmdd: <span id="a"></span>
</div>
<div>
  yyyymmddhhmm: <span id="b"></span>
</div>
<div>
  yyyymmddhhmmss: <span id="c"></span>
</div>

于 2015-05-26T12:19:16.227 回答
21

当地时间:

var date = new Date();
date = date.toJSON().slice(0, 10);

世界标准时间:

var date = new Date().toISOString();
date = date.substring(0, 10);

在我写这篇文章时,日期将在今天打印 2020-06-15。

toISOString() 方法返回符合 ISO 标准的日期,即YYYY-MM-DDTHH:mm:ss.sssZ

该代码采用 YYYY-MM-DD 格式所需的前 10 个字符。

如果您想要不带“-”的格式,请使用:

var date = new Date();
date = date.toJSON().slice(0, 10).split`-`.join``;

在 .join 中,您可以添加空格、点或任何您想要的内容。

于 2020-06-15T18:35:03.347 回答
20

纯 JS (ES5) 解决方案,没有任何可能由 Date.toISOString() 以 UTC 打印引起的日期跳转问题:

var now = new Date();
var todayUTC = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()));
return todayUTC.toISOString().slice(0, 10).replace(/-/g, '');

这是对@weberste 对@Pierre Guilbert 回答的评论的回应。

于 2014-11-20T11:15:00.213 回答
11

// UTC/GMT 0
document.write('UTC/GMT 0: ' + (new Date()).toISOString().slice(0, 19).replace(/[^0-9]/g, "")); // 20150812013509

// Client local time
document.write('<br/>Local time: ' + (new Date(Date.now()-(new Date()).getTimezoneOffset() * 60000)).toISOString().slice(0, 19).replace(/[^0-9]/g, "")); // 20150812113509

于 2015-08-12T01:38:22.280 回答
10

另一种方法是使用toLocaleDateString具有大端日期格式标准的语言环境,例如瑞典、立陶宛、匈牙利、韩国……:

date.toLocaleDateString('se')

删除分隔符 ( -) 只是替换非数字的问题:

console.log( new Date().toLocaleDateString('se').replace(/\D/g, '') );

这不存在使用 UTC 日期格式可能出现的错误:与本地时区的日期相比,UTC 日期可能会休息一天。

于 2016-10-29T11:49:14.110 回答
9

var someDate = new Date();
var dateFormated = someDate.toISOString().substr(0,10);

console.log(dateFormated);

于 2015-04-23T13:06:45.793 回答
7

dateformat是一个非常常用的包。

如何使用:

dateformat从 NPM下载并安装。在您的模块中需要它:

const dateFormat = require('dateformat');

然后只是格式化你的东西:

const myYYYYmmddDate = dateformat(new Date(), 'yyyy-mm-dd');

于 2016-04-25T09:48:41.070 回答
6

您可以简单地使用这一行代码来获取年份日期

var date = new Date().getFullYear() + "-" + (parseInt(new Date().getMonth()) + 1) + "-" + new Date().getDate();
于 2017-01-24T07:43:17.590 回答
6

最短的

.toJSON().slice(0,10).split`-`.join``;

let d = new Date();

let s = d.toJSON().slice(0,10).split`-`.join``;

console.log(s);

于 2020-08-24T21:25:44.317 回答
5

这里的这个人 => http://blog.stevenlevithan.com/archives/date-time-formatformat()为 Javascript 的对象编写了一个函数Date,因此它可以与熟悉的文字格式一起使用。

如果您需要在应用的 Javascript 中使用全功能的日期格式,请使用它。否则,如果你想做的是一次性的,那么连接 getYear()、getMonth()、getDay() 可能是最简单的。

于 2010-06-18T01:05:42.757 回答
5

此线程中最受欢迎的答案的一点简化版本https://stackoverflow.com/a/3067896/5437379

function toYYYYMMDD(d) {
    var yyyy = d.getFullYear().toString();
    var mm = (d.getMonth() + 101).toString().slice(-2);
    var dd = (d.getDate() + 100).toString().slice(-2);
    return yyyy + mm + dd;
}
于 2016-06-02T21:32:34.427 回答
5

Day.js怎么样?

它只有 2KB,而且您还可以dayjs().format('YYYY-MM-DD').

https://github.com/iamkun/dayjs

于 2018-06-26T17:09:37.320 回答
5

使用padStart

Date.prototype.yyyymmdd = function() {
    return [
        this.getFullYear(),
        (this.getMonth()+1).toString().padStart(2, '0'), // getMonth() is zero-based
        this.getDate().toString().padStart(2, '0')
    ].join('-');
};
于 2019-12-13T12:11:30.380 回答
4

根据@oo 的回答,这将根据格式字符串返回日期字符串。如果需要,您可以轻松地为年份和毫秒等添加 2 位数的年份正则表达式。

Date.prototype.getFromFormat = function(format) {
    var yyyy = this.getFullYear().toString();
    format = format.replace(/yyyy/g, yyyy)
    var mm = (this.getMonth()+1).toString(); 
    format = format.replace(/mm/g, (mm[1]?mm:"0"+mm[0]));
    var dd  = this.getDate().toString();
    format = format.replace(/dd/g, (dd[1]?dd:"0"+dd[0]));
    var hh = this.getHours().toString();
    format = format.replace(/hh/g, (hh[1]?hh:"0"+hh[0]));
    var ii = this.getMinutes().toString();
    format = format.replace(/ii/g, (ii[1]?ii:"0"+ii[0]));
    var ss  = this.getSeconds().toString();
    format = format.replace(/ss/g, (ss[1]?ss:"0"+ss[0]));
    return format;
};

d = new Date();
var date = d.getFromFormat('yyyy-mm-dd hh:ii:ss');
alert(date);

但是,我不知道这有多有效,尤其是性能方面,因为它使用了很多正则表达式。它可能会使用一些我不掌握纯 js 的工作。

注意:我保留了预定义的类定义,但您可能希望根据最佳实践将其放入函数或自定义类中。

于 2015-06-25T20:53:12.927 回答
4

此代码修复了 Pierre Guilbert 的回答:

(即使在 10000 年后仍然有效)

YYYYMMDD=new Date().toISOString().slice(0,new Date().toISOString().indexOf("T")).replace(/-/g,"")
于 2016-09-17T00:33:06.130 回答
4

为简单性和可读性回答另一个问题。
此外,不鼓励使用新方法编辑现有的预定义类成员:

function getDateInYYYYMMDD() {
    let currentDate = new Date();

    // year
    let yyyy = '' + currentDate.getFullYear();

    // month
    let mm = ('0' + (currentDate.getMonth() + 1));  // prepend 0 // +1 is because Jan is 0
    mm = mm.substr(mm.length - 2);                  // take last 2 chars

    // day
    let dd = ('0' + currentDate.getDate());         // prepend 0
    dd = dd.substr(dd.length - 2);                  // take last 2 chars

    return yyyy + "" + mm + "" + dd;
}

var currentDateYYYYMMDD = getDateInYYYYMMDD();
console.log('currentDateYYYYMMDD: ' + currentDateYYYYMMDD);
于 2017-11-09T09:33:42.193 回答
4
[day,,month,,year]= Intl.DateTimeFormat(undefined, { year: 'numeric', month: '2-digit', day: '2-digit' }).formatToParts(new Date()),year.value+month.value+day.value

或者

new Date().toJSON().slice(0,10).replace(/\/|-/g,'')
于 2020-02-29T06:16:56.027 回答
4

从 ES6 开始,您可以使用模板字符串使其更短:

var now = new Date();
var todayString = `${now.getFullYear()}-${now.getMonth()}-${now.getDate()}`;

此解决方案不归零。看看其他好的答案,看看如何做到这一点。

于 2020-04-23T10:36:00.010 回答
3

似乎 mootools 提供Date().format()https ://mootools.net/more/docs/1.6.0/Types/Date

不过,我不确定是否值得仅针对此特定任务包括在内。

于 2010-06-18T01:08:11.057 回答
3

当我需要这样做时,我通常使用下面的代码。

var date = new Date($.now());
var dateString = (date.getFullYear() + '-'
    + ('0' + (date.getMonth() + 1)).slice(-2)
    + '-' + ('0' + (date.getDate())).slice(-2));
console.log(dateString); //Will print "2015-09-18" when this comment was written

解释一下,.slice(-2) 给了我们字符串的最后两个字符。

所以无论如何,我们可以将“0”添加到日期或月份,然后只要求最后两个,因为那些总是我们想要的两个。

因此,如果 MyDate.getMonth() 返回 9,它将是:

("0" + "9") // Giving us "09"

所以添加 .slice(-2) 给我们最后两个字符,即:

("0" + "9").slice(-2)

"09"

但是如果 date.getMonth() 返回 10,它将是:

("0" + "10") // Giving us "010"

所以添加 .slice(-2) 会给我们最后两个字符,或者:

("0" + "10").slice(-2)

"10"
于 2015-09-18T13:23:56.510 回答
2

如果您不介意包含一个额外的(但很小的)库,Sugar.js提供了许多很好的功能来处理 JavaScript 中的日期。要格式化日期,请使用format函数:

new Date().format("{yyyy}{MM}{dd}")
于 2014-04-15T12:29:59.533 回答
2

如果使用 AngularJs(最高 1.5),您可以使用日期过滤器

var formattedDate = $filter('date')(myDate, 'yyyyMMdd')
于 2017-05-02T17:29:38.943 回答
2

yyyymmdd=x=>(f=x=>(x<10&&'0')+x,x.getFullYear()+f(x.getMonth()+1)+f(x.getDate()));
alert(yyyymmdd(new Date));

于 2018-01-13T22:04:12.580 回答
2

日期简码来救援!

const dateShortcode = require('date-shortcode')
dateShortcode.parse('{YYYYMMDD}', new Date())
//=> '20180304'
于 2018-03-04T18:49:55.433 回答
1

这是一种更通用的方法,它允许日期时间组件,并且可以作为数字或字符串进行排序。

根据 Date ISO 格式的数字顺序,转换为本地时区并去除非数字。IE:

// monkey patch version
Date.prototype.IsoNum = function (n) {
    var tzoffset = this.getTimezoneOffset() * 60000; //offset in milliseconds
    var localISOTime = (new Date(this - tzoffset)).toISOString().slice(0,-1);
    return localISOTime.replace(/[-T:\.Z]/g, '').substring(0,n || 20); // YYYYMMDD
}

用法

var d = new Date();
// Tue Jul 28 2015 15:02:53 GMT+0200 (W. Europe Daylight Time)
console.log(d.IsoNum(8));  // "20150728"
console.log(d.IsoNum(12)); // "201507281502"
console.log(d.IsoNum());   // "20150728150253272"
于 2015-06-29T15:23:10.740 回答
1

本机Javascript:

new Date().toLocaleString('zu-ZA').slice(0,10).replace(/-/g,'');
于 2017-11-14T21:20:35.137 回答
1

当然,您可以为日期字符串表示的每个变体构建一个特定的函数。如果您考虑国际日期格式,您最终会得到几十个名称荒谬且难以区分的特定函数。

没有一个合理的函数可以匹配所有格式,但是有一个合理的函数组合可以做到:

const pipe2 = f => g => x =>
  g(f(x));

const pipe3 = f => g => h => x =>
  h(g(f(x)));

const invoke = (method, ...args) => o =>
  o[method] (...args);

const padl = (c, n) => s =>
  c.repeat(n)
    .concat(s)
    .slice(-n);

const inc = n => n + 1;

// generic format date function

const formatDate = stor => (...args) => date =>
  args.map(f => f(date))
    .join(stor);

// MAIN

const toYYYYMMDD = formatDate("") (
  invoke("getFullYear"),
  pipe3(invoke("getMonth")) (inc) (padl("0", 2)),
  pipe2(invoke("getDate")) (padl("0", 2)));

console.log(toYYYYMMDD(new Date()));

是的,这是很多代码。但是您可以通过简单地更改传递给高阶函数的函数参数来表达每个字符串日期表示formatDate。一切都是明确的和声明性的,即您几乎可以阅读正在发生的事情。

于 2018-12-04T15:33:47.437 回答
0

这是对来自https://stackoverflow.com/users/318563/oo的答案的一点改进

Date.prototype.ddmmyyyy = function(delimiter) {
    var yyyy = this.getFullYear().toString();
    var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
    var dd  = this.getDate().toString();
    return (dd[1]?dd:"0"+dd[0]) + delimiter + (mm[1]?mm:"0"+mm[0]) + delimiter +yyyy  ; // padding
};

希望对任何人都有帮助!

:)

于 2014-12-30T17:23:40.680 回答
0
Try this:

函数显示日期(){

var a = new Date();
var b = a.getFullYear();
var c = a.getMonth();
(++c < 10)? c = "0" + c : c;
var d = a.getDate();
(d < 10)? d = "0" + d : d;
var final = b + "-" + c + "-" + d; 

return final;


} 

document.getElementById("todays_date").innerHTML = showdate();
于 2015-04-21T12:13:08.557 回答
0

这篇文章帮助我编写了这个助手,所以我分享它以防有人正在寻找这个解决方案,它支持 yyyy、mm、dd 的所有变体

Date.prototype.formattedDate = function (pattern) {
    formattedDate = pattern.replace('yyyy', this.getFullYear().toString());
    var mm = (this.getMonth() + 1).toString(); // getMonth() is zero-based
    mm = mm.length > 1 ? mm : '0' + mm;
    formattedDate = formattedDate.replace('mm', mm);
    var dd = this.getDate().toString();
    dd = dd.length > 1 ? dd : '0' + dd;
    formattedDate = formattedDate.replace('dd', dd);
    return formattedDate;
};

d = new Date();
pattern = 'yyyymmdd';  // 20150813
d.formattedDate(pattern);

pattern = 'yyyy-mm-dd';
d.formattedDate(pattern); // 2015-08-13
于 2015-08-13T07:24:55.500 回答
0

Date.js 有很多有用的日期解析方法。

require("datejs")

(new Date()).toString("yyyyMMdd")

于 2016-06-09T15:14:15.680 回答
0

我尝试编写一个简单的库来操作 JavaScript 日期对象。你可以试试这个。

var dateString = timeSolver.getString(date, "YYYYMMDD")

图书馆在这里: https ://github.com/sean1093/timeSolver

于 2016-06-16T07:51:01.430 回答
0

好,易于:

    var date = new Date();
    var yyyy = date.getFullYear();
    var mm = date.getMonth() + 1; // getMonth() is zero-based
    if (mm < 10) mm='0'+mm;
    var dd = date.getDate();
    if (dd < 10) dd='0'+dd;
    /*date.yyyymmdd();*/

    console.log('test - '+yyyy+'-'+mm+'-'+dd);
于 2016-08-24T05:52:01.033 回答
0

@oo 解决方案在我的情况下不起作用。我的解决方案如下:

Date.prototype.yyyymmdd = function() {
  var mm = this.getMonth() + 1; // getMonth() is zero-based
  var dd = this.getDate();
  var ret = [this.getFullYear(), (mm<10)?'0':'', mm, (dd<10)?'0':'', dd].join('');

  return ret; // padding
};
于 2016-10-26T08:03:34.807 回答
0

要以 YYYYMMDD 格式获取本地日期,我使用:

var todayDate = (new Date()).toLocaleString('en-GB').slice(0,10).split("\/").reverse().join("");
于 2017-01-16T08:21:27.527 回答
0

您可以创建自己的功能如下

function toString(o, regex) {
    try {
        if (!o) return '';
        if (typeof o.getMonth === 'function' && !!regex) {
            let splitChar = regex.indexOf('/') > -1 ? '/' : regex.indexOf('-') > -1 ? '-' : regex.indexOf('.') > -1 ? '.' : '';
            let dateSeparate = regex.split(splitChar);
            let result = '';
            for (let item of dateSeparate) {
                let val = '';
                switch (item) {
                    case 'd':
                        val = o.getDate();
                        break;
                    case 'dd':
                        val = this.date2Char(o.getDate());
                        break;
                    case 'M':
                        val = o.getMonth() + 1;
                        break;
                    case 'MM':
                        val = this.date2Char(o.getMonth() + 1);
                        break;
                    case 'yyyy':
                        val = o.getFullYear();
                        break;
                    case 'yy':
                        val = this.date2Char(o.getFullYear());
                        break;
                    default:
                        break;
                }
                result += val + splitChar;
            }
            return result.substring(0, result.length - 1);
        } else {
            return o.toString();
        }
    } catch(ex) { return ''; }
}

function concatDateToString(args) {
    if (!args.length) return '';
    let result = '';
    for (let i = 1; i < args.length; i++) {
        result += args[i] + args[0];
    }
    return result.substring(0, result.length - 1);
}

function date2Char(d){
    return this.rightString('0' + d);
}

function rightString(o) {
    return o.substr(o.length - 2);
}

用过的:

var a = new Date();
console.log('dd/MM/yyyy: ' + toString(a, 'dd/MM/yyyy'));
console.log('MM/dd/yyyy: ' + toString(a, 'MM/dd/yyyy'));
console.log('dd/MM/yy: ' + toString(a, 'dd/MM/yy'));
console.log('MM/dd/yy: ' + toString(a, 'MM/dd/yy'));
于 2018-06-22T11:00:54.233 回答
0

我希望这个功能会有用

function formatDate(dDate,sMode){       
        var today = dDate;
        var dd = today.getDate();
        var mm = today.getMonth()+1; //January is 0!
        var yyyy = today.getFullYear();
        if(dd<10) {
            dd = '0'+dd
        } 
        if(mm<10) {
            mm = '0'+mm
        } 
        if (sMode+""==""){
            sMode = "dd/mm/yyyy";
        }
        if (sMode == "yyyy-mm-dd"){
            return  yyyy + "-" + mm + "-" + dd + "";
        }
        if (sMode == "dd/mm/yyyy"){
            return  dd + "/" + mm + "/" + yyyy;
        }

    }
于 2018-08-30T20:09:08.850 回答
0

这里的很多答案都使用了 toisostring 函数。此函数在输出前将时间转换为祖鲁时间,这可能会导致问题。

function datestring(time) {
    return new Date(time.getTime() - time.getTimezoneOffset()*60000).toISOString().slice(0,10).replace(/-/g,"")
}

mydate = new Date("2018-05-03")
console.log(datestring(mydate))

datestring 函数修复了时区问题,或者更好的是,您可以通过使用 zulu 时间来避免整个问题:

mydate = new Date("2018-05-03Z")
// mydate = new Date(Date.UTC(2018,5,3))
console.log(mydate.toISOString().slice(0,10).replace(/-/g,""))
于 2021-05-18T11:23:36.237 回答
-1

这是一个紧凑的小函数,它易于阅读并且避免了局部变量,这在 JavaScript 中可能会浪费时间。我不使用原型来更改标准模块,因为它会污染名称空间并可能导致代码无法执行您认为应该执行的操作。

main 函数有一个愚蠢的名字,但它传达了这个想法。

function dateToYYYYMMDDhhmmss(date) {
    function pad(num) {
        num = num + '';
        return num.length < 2 ? '0' + num : num;
    }
    return date.getFullYear() + '/' +
        pad(date.getMonth() + 1) + '/' +
        pad(date.getDate()) + ' ' +
        pad(date.getHours()) + ':' +
        pad(date.getMinutes()) + ':' +
        pad(date.getSeconds());
}
于 2014-05-19T23:40:44.133 回答
-1
var dateDisplay = new Date( 2016-11-09 05:27:00 UTC );
dateDisplay = dateDisplay.toString()
var arr = (dateDisplay.split(' '))
var date_String =  arr[0]+','+arr[1]+' '+arr[2]+' '+arr[3]+','+arr[4]

这将显示像 Wed,Nov 09 2016,10:57:00 这样的字符串

于 2016-11-09T06:36:55.220 回答
-1
<pre>Date.prototype.getFromFormat = function(format) {
    var yyyy = this.getFullYear().toString();
    format = format.replace(/yyyy/g, yyyy)
    var mm = (this.getMonth()+1).toString(); 
    format = format.replace(/mm/g, (mm[1]?mm:"0"+mm[0]));
    var dd  = this.getDate().toString();
    format = format.replace(/dd/g, (dd[1]?dd:"0"+dd[0]));
    var hh = this.getHours().toString();
    format = format.replace(/hh/g, (hh[1]?hh:"0"+hh[0]));
    var ii = this.getMinutes().toString();
    format = format.replace(/ii/g, (ii[1]?ii:"0"+ii[0]));
    var ss  = this.getSeconds().toString();
    format = format.replace(/ss/g, (ss[1]?ss:"0"+ss[0]));
    var ampm = (hh >= 12) ? "PM" : "AM";
    format = format.replace(/ampm/g, (ampm[1]?ampm:"0"+ampm[0]));
    return format;
};
var time_var = $('#899_TIME');
var myVar = setInterval(myTimer, 1000);
function myTimer() {
    var d = new Date(); 
    var date = d.getFromFormat('dd-mm-yyyy hh:ii:ss:ampm');
    time_var.text(date);

} </pre>

use the code and get the output like **26-07-2017 12:29:34:PM**

check the below link for your reference

https://parthiban037.wordpress.com/2017/07/26/date-and-time-format-in-oracle-apex-using-javascript/ 
于 2017-07-26T07:01:07.547 回答
-3

为什么不使用 jQuery?

在您的页面中,只需下载/导入文件:

<script src="dateFormat.min.js"></script>

以及您要格式化日期的位置:

$.format.date(aDate, 'yyyyMMdd');

您在此处有更多详细信息/示例: https ://www.npmjs.com/package/jquery-dateformat

于 2021-10-18T12:30:49.670 回答