为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
沧海一幻觉 2021-06-11 14:05:18
我正在将部分 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
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

可能不需要为此提供图书馆。


使用此代码,您可以根据需要混合和匹配日期/时间元素:


let date = new Date(2019,4,10,15,30,20) //10 May 2019, 3:30:20 PM

let dateStr = date.toLocaleDateString("en-GB", {day:"2-digit", month:"2-digit", year:"2-digit"}) // 10/05/19


let 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. 19


let timeStr = date.toLocaleTimeString("en-GB", {hour12:false, hour:"2-digit",minute:"2-digit", second:"2-digit"}) //

let arr2 = timeStr.split(":") // 15:30:20

let H = arr2[0]; //e.g. 15

let i = arr2[1]; //e.g. 30

let s = arr2[2]; //e.g. 20


let ymdHms = y + m + d + H + i + s;


console.log(ymdHms); //190510153020


查看完整回答
反对 回复 2021-06-13
?
潇湘沐

TA贡献1816条经验 获得超6个赞

您忘记添加 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() ))


查看完整回答
反对 回复 2021-06-13
  • 3 回答
  • 0 关注
  • 265 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信