如何获取不带时间的当前日期?

53

我试图在JavaScript中获取当前日期并将其存储在一个变量中,但不包括时间。由于我要将其转换为时期日期,因此需要不包括时间,这将用于衡量过去24小时的时间(如果日期在24小时内,则会显示)。问题是,由于包含了时间,它与过去24小时不匹配。

例如,当被转换为时期日期时,它返回以下日期:1408704590485

我希望它像1408662000000一样。

我不确定如何做到这一点。

代码 - 当前日期的时期日期是如何存储的 -

var epochLoggingFrom;
var epochLoggingTo;

$(document).ready(function () {
    epochLoggingFrom = dateToEpoch(new Date());
    epochLoggingTo = dateToEpoch(new Date());
}

dateToEpoch函数 -

function dateToEpoch(thedate) {
    return thedate.getTime();
}

4
链接,但并非完全重复的是 https://dev59.com/smIj5IYBdhLWcg3whFQH。 - user3913686
6
看一下上面问题的答案:date.setHours(0,0,0,0) 就足够了。 - Salman A
看一下momentjs,这是一个非常棒的用于操作日期的库。 - Albert
此外,date-fns 还有 startOfToday 可以实现你想要的功能,而 isToday 也非常有用。 - Matt
7个回答

56

6
w3schools的链接让我这只可怜的Snarf感到沮丧。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours - snarf

29

试试这个:

var nowDate = new Date(); 
var date = nowDate.getFullYear()+'/'+(nowDate.getMonth()+1)+'/'+nowDate.getDate(); 

注意:您可以根据需要调整格式,例如重新排列日、月、年,删除“/”,并获取组合日期等。


8
或者使用这个:
dateToEpoch(new Date().toLocaleDateString())

3

到了2023年,您可以使用新的Intl js全局对象 new Intl.DateTimeFormat(['ban', 'id']).format(new Date) MDN页面


2
解决方案:
const date = new Date();
date.setHours(0, 0, 0, 0);

第一个答案(dateTicks%86400000)不好,你可以确保:

const date = new Date();
console.log(date + ' - source datetime');

const date1 = new Date(date);
date1.setHours(0, 0, 0, 0);
console.log(date1 + ' - today via setHours (good)');

const date2ticks = date.getTime();
const date2 = new Date(date2ticks - date2ticks % 86400000);
console.log(date2 + ' - today via remainder (bad)');

console.log(date1 === date2 ? 'two ways are the same!' : 'two ways are the different!'); 


1

我尝试使用JavaScript。这种方法以“DD/MM/YYYY”格式返回当前日期。

getCurrentDate() {
  const t = new Date();
  const date = ('0' + t.getDate()).slice(-2);
  const month = ('0' + (t.getMonth() + 1)).slice(-2);
  const year = t.getFullYear();
  return `${date}/${month}/${year}`;
}

-1
试试这个: 适用于只需要日期而不需要时间的人。
let date = div.toLocaleString("en-us", { year: 'numeric', month: 'numeric', day: 'numeric' });

1
这怎么回答问题呢?这段代码甚至不能正常运行,会出现错误。 - undefined
你的回答可以通过提供更多的支持性信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的回答是否正确。你可以在帮助中心找到关于如何撰写好的回答的更多信息。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接