JavaScript

超轻量级php框架startmvc

js时间戳和c#时间戳互转方法(推荐)

更新时间:2020-04-23 04:55:01 作者:startmvc
实例如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSyst

实例如下:


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

以上这篇js时间戳和c#时间戳互转方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

时间戳相互转换