在 php 中将 Javascript DateTime 格式化为 date('ymdHis')

我正在将部分 php 代码移动到我的 Web 应用程序中的前端 javascript。我需要像date(‘ymdHis’)在 javascript 中一样格式化当前日期时间。

我尝试使用 javascripttoLocaleDateString这样的:

new Date().toLocaleDateString("ko-KR", { year: "2-digit", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"}).replace(/\D/g,'');

这解决了我当前的问题,但我使用“ko-KR”语言环境来制作年-月-日订单。如果实现稍有变化,我将很难做到这一点。

我想知道是否有任何 javascript 库可以正确管理此任务?就像,如果下次是date(‘mydHis’),我不必找到遵循此顺序的语言环境。
我查看了moment.js,但它似乎并不是真正用于数字输出(我没有深入研究它,如果这是错误的,抱歉)。

任何帮助将非常感激。

我在进行更多搜索时发现了这一点,它可能会有所帮助:https : //www.npmjs.com/package/dateformat from http://blog.stevenlevithan.com/archives/date-time-format


沧海一幻觉
浏览 270回答 3
3回答

小唯快跑啊

可能不需要为此提供图书馆。使用此代码,您可以根据需要混合和匹配日期/时间元素:let date = new Date(2019,4,10,15,30,20) //10 May 2019, 3:30:20 PMlet dateStr = date.toLocaleDateString("en-GB", {day:"2-digit", month:"2-digit", year:"2-digit"}) // 10/05/19let arr = dateStr.split("/")// [ '10', '05', '19' ]let d = arr[0]; //e.g. 10 let m = arr[1]; //e.g. 5 let y = arr[2]; //e.g. 19let timeStr = date.toLocaleTimeString("en-GB", {hour12:false, hour:"2-digit",minute:"2-digit", second:"2-digit"}) //let arr2 = timeStr.split(":") // 15:30:20let H = arr2[0]; //e.g. 15let i = arr2[1]; //e.g. 30let s = arr2[2]; //e.g. 20let ymdHms = y + m + d + H + i + s;console.log(ymdHms); //190510153020

潇湘沐

您忘记添加 hour12: false选项    const opt = {      year: "2-digit", month: "2-digit", day: "2-digit",      hour12: false,      hour: "2-digit", minute: "2-digit", second: "2-digit"    }    new Date().toLocaleDateString("ko-KR", opt).replace(/\D/g, '');但以一种没有图书馆的简单方式:function form_ymdHis(xDate) {  return xDate.getFullYear().toString(10).substring(2)      + (xDate.getMonth()+1).toString(10).padStart(2,'0')      + xDate.getDate().toString(10).padStart(2,'0')      + xDate.getHours().toString(10).padStart(2,'0')      + xDate.getMinutes().toString(10).padStart(2,'0')        + xDate.getSeconds().toString(10).padStart(2,'0')}console.log ( form_ymdHis(new Date() ))
打开App,查看更多内容
随时随地看视频慕课网APP