• 技术文章 >后端开发 >C#.Net教程

    详细介绍c#时间戳和js时间戳互转方法的代码分享

    黄舟黄舟2017-03-23 11:28:56原创1340

    下面小编就为大家带来一篇js时间戳和c#时间戳互转方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    实例如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Newtonsoft.Json;
    
    namespace TestWeb
    {
      public partial class ajax : System.Web.UI.Page
      {
        protected void Page_Load(object sender, EventArgs e)
        {
          if (!IsPostBack)
          {
            //TestAjax()
          }
        }
    
        public void TestAjax()
        {
          var phone = Request.Form["phone"];
          var authcode = Request.Form["authcode"];
          var pt = Request.Form["pt"]; //js时间戳 new Date().getTime() eg: 1429503106452
    
          string outputmsg = string.Empty;
    
          if (phone != null && authcode != null && pt != null)
          {
            DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
            //说明下,时间格式为13位后面补加4个"0",如果时间格式为10位则后面补加7个"0"
            long lTime = long.Parse(pt + (pt.Length == 13 ? "0000" : "0000000"));
            TimeSpan toNow = new TimeSpan(lTime);
            DateTime dtResult = dtStart.Add(toNow); //得到转换后的时间
    
            string str = dtResult.ToString();
            outputmsg = OutMsg(new ResponseInfo { success = true, tag = 100, msg = "成功" });
          }
    
          Response.Write(outputmsg);
        }
    
        public long GetCurrentTicksForJs()
        {
          System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
          DateTime dtResult = DateTime.Now;//获取时间     
          long t = (dtResult.Ticks - startTime.Ticks) / 10000;//除10000调整为13位
          return t;
        }
    
        public string OutMsg(object obj)
        {
          return JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.Indented);
        }
    
        public class ResponseInfo
        {
          public bool success { get; set; }
          public int tag { get; set; }
          public string msg { get; set; }
        }
    
        //...
    
      }
    }<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ajax.aspx.cs" Inherits="TestWeb.ajax" %>
    
    <script type="text/javascript">
      var d = new Date(<%=GetCurrentTicksForJs() %>);
      alert(formatDate(d)); 
    
      function formatDate(now) {
        var year = now.getFullYear();
        var month = now.getMonth() + 1;
        var date = now.getDate();
        var hour = now.getHours();
        var minute = now.getMinutes();
        var second = now.getSeconds();
        return year 
            + "-" 
            + (month.toString().length ==1 ? "0"+month : month) 
            + "-" 
            + (date.toString().length ==1 ? "0"+date : date) + " " + hour + ":" + minute + ":" + second;
      }
    </script>
    var date = new Date(1459481266695);
    Y = date.getFullYear() + '-';
    M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
    D = date.getDate() + ' ';
    h = date.getHours() + ':';
    m = date.getMinutes() + ':';
    s = date.getSeconds(); 
    console.log(Y+M+D+h+m+s); 
    VM307:9 2016-04-1 11:27:46

    以上就是详细介绍c#时间戳和js时间戳互转方法的代码分享的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:c#,时间戳,js
    上一篇:详解ASP.NET使用ajax实现分页局部刷新页面功能的代码实例 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • go是c语言中关键字吗• putchar()的功能是啥• 指针数组和数组指针的区别是什么• 汇编语言和c语言的区别是什么• c语言文件读写怎么操作
    1/1

    PHP中文网