如何获得+;Javascript格式的15分钟日期时间,dd/mm/yyyy hh:ii AM/PM格式?
我必须用Javascript以如何获得+;Javascript格式的15分钟日期时间,dd/mm/yyyy hh:ii AM/PM格式?,javascript,date,date-manipulation,Javascript,Date,Date Manipulation,我必须用Javascript以dd/mm/yyyy hh:ii AM/PM格式获得+15分钟的日期时间 我应该比较两个日期,它们是dd/mm/yyyy hh:ii AM/PM格式 JS: var-date=新日期(); var hours=date.getHours(); var minutes=date.getMinutes(); var ampm=小时数>=12?'PM’:‘AM’; 小时数=小时数%12; 小时=小时?小时:12;//小时“0”应为“12” 小时=小时
dd/mm/yyyy hh:ii AM/PM
格式获得+15分钟的日期时间
我应该比较两个日期,它们是dd/mm/yyyy hh:ii AM/PM
格式
JS:
var-date=新日期();
var hours=date.getHours();
var minutes=date.getMinutes();
var ampm=小时数>=12?'PM’:‘AM’;
小时数=小时数%12;
小时=小时?小时:12;//小时“0”应为“12”
小时=小时<10?'0'+小时:小时;
分钟=分钟<100'+分钟:分钟;
var dd=date.getDate()<10?“0'+date.getDate():date.getDate();
变量mm=(date.getMonth()+1)<10?'0'+(date.getMonth()+1):(date.getMonth()+1);
var strTime=dd+'/'+mm+'/'+date.getFullYear()+“”+hours+':“+minutes+''+ampm;
首先让我注意,默认情况下,javascript将以UTC为单位提供时间
JavaScript日期基本上指定为自UTC 1970年1月1日午夜以来经过的毫秒数。此日期和时间与UNIX历元相同,UNIX历元是计算机记录的日期和时间值的主要基值。()
当您使用Date()
函数创建日期对象时,上述情况是正确的
使用ES20xx,您可以使用(IE中不支持)和(IE中不支持)字符串扩展来格式化日期对象,如下面的代码段所示
我还有date.toLocalString()
,它以浏览器运行函数的区域中常用的格式提供字符串
方法返回一个字符串,该字符串对语言敏感
本日期的陈述。新的区域设置和选项参数允许
应用程序指定应使用其格式约定的语言
可以使用并自定义函数的行为。老年人
忽略区域设置和选项参数的实现
使用的区域设置和返回的字符串形式完全相同
依赖于实现。()
因此,实现这一点的简单方法是在从Date对象获得的Unix时间戳上添加15分钟,并使用toLocaleString
对其进行格式化(这是第一个片段)
您还可以将下面的两个日期对象与任何整数进行比较
var dt1=(new Date()).getTime()//Unix时间戳(以毫秒为单位)
log(“当前日期Unix时间戳(ms)”)
console.log(dt1)
log(“15分钟后的日期Unix时间戳(ms)”)
console.log(dt1+900000)//15min=900000ms(15*60*1000)
var dt=新日期(dt1);
var dt2=新日期(dt1+900000)
console.log(“相隔15分钟的未格式化日期(ISO 8601/UTC)”)
控制台日志(dt)
console.log(dt2)
log(“格式化日期间隔15分钟(根据您的时区)”)
console.log(dt.tolocalString())
console.log(dt2.tolocalString())
到目前为止您尝试了什么?你被困在哪里了?var date=new date();var hours=date.getHours();var minutes=date.getMinutes();var ampm=小时数>=12?'PM’:‘AM’;小时数=小时数%12;小时=小时?小时:12;//小时数“0”应为“12”小时=小时数<10?”0'+小时:小时;分钟=分钟<100'+分钟:分钟;var dd=date.getDate()<10?“0'+date.getDate():date.getDate();变量mm=(date.getMonth()+1)<10?'0'+(date.getMonth()+1):(date.getMonth()+1);var strTime=dd+'/'+mm+'/'+date.getFullYear()+“”+hours+':“+minutes+''+ampm;我不知道如何以相同的格式获得+15分钟的时间,并比较相同格式的日期代码–只有答案没有多大帮助。一个好的答案应该解释OP为什么会有问题,以及您的代码是如何解决的。“12小时格式2020-04-07T15:56:11.000ZPM”不是“12小时格式”,也不是有效的ISO 8601格式。嘿@RobG,我意识到我的答案有什么问题,请检查一下,让我知道你的想法:)
var date = new Date();
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
hours = hours < 10 ? '0' + hours : hours;
minutes = minutes < 10 ? '0' + minutes : minutes;
var dd = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
var mm = (date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1);
var strTime = dd + '/' + mm + '/' + date.getFullYear() + " " + hours + ':' + minutes + ' ' + ampm;