Conseguindo a data e hora do client (browser)

<< Click to Display Table of Contents >>

Navigation:  Miscelânea >

Conseguindo a data e hora do client (browser)

Previous pageReturn to chapter overviewNext page

As vezes no servidor você tem horário errado DateTime.Now porque o servidor fica em outro país.

Você pode pegar a data e hora do client e mandar para o servidor com Javascript.

Neste exemplo, você verá a data e hora do client num input chamado Text1. E se pressionar um botão verá a data e hora com GMT-3 no Response.Write

 

Teste.aspx

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Tarefas.Test" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

  <title></title>

  <script type="text/javascript">

       window.onload = waka;

 

      function waka() {

          var atual = new Date();

          var horas = atual.getHours();

          var minutos = atual.getMinutes();

          var segundos = atual.getSeconds();

          if (minutos < 10)

               minutos = '0' + minutos;

          if (segundos < 10)

               segundos = '0' + segundos;

          var label = document.getElementById('Text1');

           label.value = horas + ':' + minutos + ':' + segundos;

          return true;

       }

  </script>

</head>

<body>

  <form id="form1" runat="server">

  <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click1" />

  <input id="Text1" type="text" />

  </form>  

</body>

</html>

 

Teste.cs

 

using System;

 

namespace Tarefas

{

  public partial class Test : System.Web.UI.Page

   {

      protected void Page_Load(object sender, EventArgs e)      

       {

       }

 

      protected void Button1_Click1(object sender, EventArgs e)

       {

          DateTime hora = DateTime.Now.ToUniversalTime().AddHours(-3);

           Response.Write(hora.ToString());

       }

   }

}