Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得+;Javascript格式的15分钟日期时间,dd/mm/yyyy hh:ii AM/PM格式?_Javascript_Date_Date Manipulation - Fatal编程技术网

如何获得+;Javascript格式的15分钟日期时间,dd/mm/yyyy hh:ii AM/PM格式?

如何获得+;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” 小时=小时

我必须用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”
小时=小时<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;