javascript aujourd'Hui() la fonction
J'aimerais déterminer si une date donnée de l'objet est le même jour que le courant de la journée. Ci-dessous le pseudo code.
//date is a Date object
function (date)
{
if (date == Today())
alert('How are you today?');
else
alert('How were you last ' + date.toDateString() + '?');
}
Comment puis-je mettre en œuvre le aujourd'Hui() la fonction? Il n'a pas à être une fonction vraiment, une solution équivalente, sera tout aussi bon. Merci.
[modifier]
J'ai oublié de mentionner. À l'heure actuelle (aujourd'hui), l'heure locale et la date de l'objet qu'il sera comparé avec l'heure du serveur, qui peut être n'importe où dans le monde.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement comparer les
toDateString()
s de la chaîne de date vous êtes de passage à unnew Date()
sans aucun paramètre passé (il sera par défaut à aujourd'hui).dateString
? Oh wait, à droite, c'est JavaScript nous sommes en train de parler....Date
de la bibliothèque sont, pour employer un euphémisme, fou. Je vais l'essayer date.js si vous voulez faire le fuseau horaire manipulations sans déchirer vos yeux.C'est une question intéressante. Tout d'abord, vous obtenez le courant datetime en JavaScript avec
Cependant, la comparaison de deux dates n'est pas vraiment fait avec
==
Envisager
Mais...
Parce que deux objets date sera égal que si elles sont le exactement le même objet. Ainsi, lorsque vous comparez les dates, l'utilisation
getTime
. Si vous ne sont concernés par l'égalité des dates et non pas la date de fois, vous avez à faire un peu plus de travail, mais il n'est pas si mal.ADDENDUM:
La question posée par une façon de parler de la date actuelle.
Là, vous avez deux manières de faire, au moins.
De l'objet datetime, trouver le correspondant de minuit de temps. Il existe des algorithmes pour cela, ou vous pouvez utiliser un programme comme
date.js
.Hack dans une chaîne de caractères:
d.toISOString().substring(0,10)
. C'est un vilain hack, et s'il vous plaît, être prudent sur les fuseaux horaires!getTime()
n'est pas tellement pour les comparaisons de dates que pour la comparaison précise millisecondes de différence. c'est à dire,[date obj for 5pm today].getTime()
ne serait pas égal à[date obj for 5:01pm today].getTime()
.new Date(2011, 1, 1)
donner 1er de février 2011?! (Juste essayé sous IE, je suis tout à fait confus)Utiliser les éléments suivants:
Gardez à l'esprit que le Javascript
Date
objet est un timestamp en dépit de son nom. Vous aurez probablement envie de comparer les différents champs de l'égalité avecgetMonth()
,getDate()
etgetFullYear()
, comme par l'exemple suivant:Il n'y a pas de
Today()
méthode en javascript. Vous pouvez utilisernew Date()
pour obtenir la date actuelle.