当前位置: 首页 > 面试题库 >

JavaScript 如何格式化JavaScript日期

岳安福
2023-03-14
问题内容

在JavaScript中,如何格式化日期对象以打印为10-Aug-2010


问题答案:

对于自定义分隔的日期格式,你必须从DateTimeFormat对象(属于ECMAScript Internationalization API的一部分)中提取日期(或时间)组件,然后手动使用所需的分隔符创建字符串。

为此,你可以使用DateTimeFormat#formatToParts:

const d = new Date('2010-08-05')

const dtf = new Intl.DateTimeFormat('en', { year: 'numeric', month: 'short', day: '2-digit' })

const [{ value: mo },,{ value: da },,{ value: ye }] = dtf.formatToParts(d)



console.log(`${da}-${mo}-${ye}`)

console.log(`${da}${mo}${ye}`) // just for fun

你还可以DateTimeFormat使用来一对一地提取各个部分DateTimeFormat#format,但请注意,使用此方法时,截至2020年3月,ECMAScript实现中存在一个错误,涉及分钟和秒前导零(此错误被上述方法规避了)。

const d = new Date('2010-08-05')

const ye = new Intl.DateTimeFormat('en', { year: 'numeric' }).format(d)

const mo = new Intl.DateTimeFormat('en', { month: 'short' }).format(d)

const da = new Intl.DateTimeFormat('en', { day: '2-digit' }).format(d)



console.log(`${da}-${mo}-${ye}`)

在处理日期和时间时,通常值得使用一个库(例如moment.js,luxon),因为该字段存在许多隐藏的复杂性。

请注意,IE10不支持在上述解决方案中使用的ECMAScript国际化API (2020年2月全球浏览器市场份额为0.03%)。



 类似资料:
  • 问题内容: 如何格式化: 作为JavaScript / jQuery中的常规查找日期? 问题答案: 这就是我所说的“ Microsoft Date”,以下函数会将编码日期转换为javascript日期时间

  • 问题内容: 我有一个类似的日期/时间字符串,但我想将其转换为,我该怎么做? 我正在使用以下代码,但会引发异常。 问题答案: 您可以执行简单的字符串操作并创建js日期对象。请参见下面的函数,该函数接受// yyyy-mm-dd hh:mm:ss格式的日期

  • 我正在使用jquery datepicker,我想设置最小日期和最大日期来显示日期。我需要允许用户在最小和最大范围内选择日期。和dateformat也需要根据用户区域设置。 我有2个日期字段开始日期和结束日期。 但上面的代码在另一个本地国家/地区不能正常工作....它总是选择我的系统日期格式“MM/DD/YYYY”。 所以我尝试设置日期的格式var dateFormat=“dd.mm.yyyy”;

  • 本文向大家介绍javascript日期格式化方法汇总,包括了javascript日期格式化方法汇总的使用技巧和注意事项,需要的朋友参考一下 方法一: 调用方式: var time1 = new Date().Format("yyyy-MM-dd"); var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");  方法二: 方法三: 方法四: 方法五:

  • 问题内容: 在JavaScript中,从浮点数转换为字符串时,小数点后仅能获得2位数字吗?例如,用0.34代替0.3445434。 问题答案: var result = Math.round(original*100)/100; 具体细节,以防代码不言自明。 编辑:…或按照TimBüthe的建议使用。忘了那个,谢谢(和赞扬):)