Tous,C# ASP.NET à l'aide TimeSpan pour limiter les heures pour se connecter à un site Web
Lorsqu'un client se connecte sur mon site, je veux montrer combien le temps restant jusqu'à ce que le journal des temps de liaison sur.
Utilisation de la structure TimeSpan en C#, pour une raison quelconque, je ne peux pas comprendre comment faire cette tâche:
TimeSpan diff = (DateTime.Now - orderDate );
Lorsque les journaux des clients dans, je veux montrer au client combien de temps il/elle reste à se connecter ... "vous avez 3 heures 33 minutes jusqu'à ce que ce lien expire." ... "Vous avez 2 heures 25 minutes jusqu'à ce que ce lien expire" etc.
Une fois que 4 heures sont atteintes, lorsque le client se connecte, je vais le rediriger vers un désolé ... le lien a dépassé la page.
donc un code psudo pourrait être ...
if (diff.Hours >= 4)
{
response.redirect("log_in_timed_out.aspx");
}
else
{
lblTimeRemaining.Text = "You have " + diff.Hours + " hours and " + diff.Minutes + " minutes remaining until the link times out.";
}
Ce code psudo fait les heures et les minutes comptent au lieu de descendre à 0. Donc, je me connecte et il dit que vous avez 1 heures 33 minutes, 2 heures 12 minutes, etc. parce que le TimeSpan me donne la différence entre les deux dates. Et je veux qu'il compte jusqu'à 0 comme 3 heures 23 minutes, 2 heures 15 minutes, 1 heure 5 minutes, etc.
Comment puis-je montrer combien de temps il reste au client chaque fois qu'il se connecte en utilisant la structure TimeSpan et comptez-vous à 0?
merci pour vos commentaires.
Vous devriez utiliser 'UtcNow' au lieu de' Now', sinon vous aurez des clients fâchés qui n'auront que 3h en raison de la commutation DST. – CodesInChaos
Quel est votre problème? Votre pseudo-code me va bien. Personnellement, je ne voudrais pas les rediriger, mais plutôt montrer l'erreur en place. – CodesInChaos
Je veux que lblTimeRemaining affiche le décompte du temps. Par exemple, 4 heures 00 minutes, 3 heures 15 minutes, 2 heures 13 minutes, etc. Si j'utilise le code psudo ... ça compte, pas en bas. Donc cette ligne: – Frekster