我想从JavaScriptdate
对象中获取yyyy-mm-dd
格式的日期。
new Date('Aug 5 2022').toISOString().split('T')[0]
从上面一行,我期待2022-08-05
但得到2022-08-04
怎么解决?
以下是从本机JavaScriptDate
对象获取您询问的yyy-mm-dd
字符串格式的两种方法:
js lang-js prettyprint-override">const date = new Date();
const utcOffsetMs = date.getTimezoneOffset() * 60 * 1e3 * -1;
const offsetDate = new Date(date.getTime() + utcOffsetMs);
const dateStr = offsetDate.toISOString().slice(0, 10);
console.log(dateStr);
您的日期将转换为UTC。解决此问题的一种方法是向参数字符串中添加UTC
。
new Date('Aug 5 2022 UTC').toISOString().split('T')[0]
日期.prototype.toISO字符串()
TOISOSString()方法返回简化扩展ISO格式(ISO 8601)的字符串,其长度始终为24或27个字符(YYYY-MM-DDTHH:MM:ss.sssZ或±YYYYY-MM-DDTHH:MM:ss.sssZ)。时区始终为零UTC偏移,由后缀Z.-Date.prototype.toISOString()表示
出现此问题的原因是您尝试转换为ISO字符串
它会自动转换为UTC,我相信您不在UTC区域中。因此,要解决此问题,请执行以下操作:
new Date('Aug 5 2022 GMT+00').toISOString().split('T')[0]
因此,将其转换为UTC,然后将其转换为ISO字符串()
我需要将日期/时间从2014年8月20日15:30:00更改为2014年8月20日下午3:30 这可以使用javascript的日期对象来完成吗?
我正在使用jquery datepicker,我想设置最小日期和最大日期来显示日期。我需要允许用户在最小和最大范围内选择日期。和dateformat也需要根据用户区域设置。 我有2个日期字段开始日期和结束日期。 但上面的代码在另一个本地国家/地区不能正常工作....它总是选择我的系统日期格式“MM/DD/YYYY”。 所以我尝试设置日期的格式var dateFormat=“dd.mm.yyyy”;
问题内容: 我的日期格式是,它产生日期: 但我需要这样的日期: 什么日期格式将产生带有冒号的偏移量? 问题答案: 您可以使用这种格式 看看该文档以获取更多信息。 PS:- 正如我的朋友 @Thomas所 提到的,这仅适用于 Java 7 及更高版本。
问题内容: 如何格式化: 作为JavaScript / jQuery中的常规查找日期? 问题答案: 这就是我所说的“ Microsoft Date”,以下函数会将编码日期转换为javascript日期时间
我有日期输入为“20170101”(YYYYMMDD),我只需编写freemarker模板将上述日期转换或格式化为“2017-01-01 00:00:00”(YYYY-MM-DD HH:MM:SS)作为日期-时间以上格式。 但它返回错误为“字符串与预期的日期/时间/日期-时间格式不匹配。要分析的字符串是:”20170101“。预期的格式是:”MMM dd yyyy HH:MM:SS“。给出的嵌套原
如何使用注释格式化传入的?表单以MM/DD/YYYY格式发送日期,而控制器没有将其作为有效的拾取。