C#时间格式转换为时间戳的方法步骤

时间戳转换:

/// <summary>
/// C#时间格式转换为时间戳(互转)
/// 时间戳定义为从格林威治时间 1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
/// </summary>
public class DateTime_TimeStamp : MonoBehaviour
{
  protected int m_timestamp;

  /// <summary>
  /// 获取时间戳Timestamp
  /// </summary>
  /// <param name="dt"></param>
  /// <returns></returns>
  private int GetTimeStamp(DateTime dt)
  {
    DateTime dateStart = new DateTime(1970, 1, 1, 8, 0, 0);
    int timeStamp = Convert.ToInt32((dt - dateStart).TotalSeconds);
    return timeStamp;
  }

  /// <summary>
  /// 时间戳Timestamp转换成日期
  /// </summary>
  /// <param name="timeStamp"></param>
  /// <returns></returns>
  private DateTime GetDateTime(int timeStamp)
  {
    DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
    long lTime = ((long)timeStamp * 10000000);
    TimeSpan toNow = new TimeSpan(lTime);
    DateTime targetDt = dtStart.Add(toNow);
    return targetDt;
  }

  /// <summary>
  /// 时间戳Timestamp转换成日期
  /// </summary>
  /// <param name="timeStamp"></param>
  /// <returns></returns>
  private DateTime GetDateTime(string timeStamp)
  {
    DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
    long lTime = long.Parse(timeStamp + "0000000");
    TimeSpan toNow = new TimeSpan(lTime);
    DateTime targetDt = dtStart.Add(toNow);
    return dtStart.Add(toNow);
  }

  void OnGUI()
  {
    if (GUILayout.Button("获取当前时间的时间戳"))
    {
      DateTime dtNow = DateTime.Now;
      m_timestamp = GetTimeStamp(dtNow);
      Debug.Log(string.Format("获取当前时间的时间戳 = {0} -> {1}", dtNow.ToString("yyyy-MM-dd hh:mm:ss"), m_timestamp));
    }

    if (GUILayout.Button("将时间戳转换成日期_1"))
    {
      DateTime dt = GetDateTime(m_timestamp);
      Debug.Log(string.Format("将时间戳转换成日期_1 = {0} -> {1}", m_timestamp, dt.ToString("yyyy-MM-dd hh:mm:ss")));
    }

    if (GUILayout.Button("将时间戳转换成日期_2"))
    {
      DateTime dt = GetDateTime(m_timestamp.ToString());
      Debug.Log(string.Format("将时间戳转换成日期_2 = {0} -> {1}", m_timestamp, dt.ToString("yyyy-MM-dd hh:mm:ss")));
    }
  }
}

C# DateTime的ToString()方法的使用

Console.WriteLine("ToShortDateString:" + DateTime.Now.ToShortDateString());
Console.WriteLine("ToLongDateString:" + DateTime.Now.ToLongDateString());

Console.WriteLine("ToShortTimeString:" + DateTime.Now.ToShortTimeString());
Console.WriteLine("ToLongTimeString:" + DateTime.Now.ToLongTimeString());

Console.WriteLine(DateTime.Now.ToString());
Console.WriteLine(DateTime.Now.ToString("t"));

Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ms"));

Console.WriteLine(DateTime.Now.ToString("d"));          //格式: 2010-10-22
Console.WriteLine(DateTime.Now.ToString("D"));          //格式: 2010年10月22日

Console.WriteLine(DateTime.Now.ToString("f"));          //格式: 2010年10月22日 9:26
Console.WriteLine(DateTime.Now.ToString("F"));          //格式: 2010年10月22日 9:26:38

Console.WriteLine(DateTime.Now.ToString("g"));          //格式: 2010-10-22 9:26
Console.WriteLine(DateTime.Now.ToString("G"));          //格式: 2010-10-22 9:26:38

Console.WriteLine(DateTime.Now.ToString("m"));          //格式: 10月22日
Console.WriteLine(DateTime.Now.ToString("r"));          //格式: Fri, 22 Oct 2010 09:26:38 GMT
Console.WriteLine(DateTime.Now.ToString("s"));          //格式: 2010-10-22T09:26:38

Console.WriteLine(DateTime.Now.ToString("t"));          //格式: 9:26
Console.WriteLine(DateTime.Now.ToString("T"));          //格式: 9:26:38

Console.WriteLine(DateTime.Now.ToString("u"));          //格式: 2010-10-22 09:26:38Z
Console.WriteLine(DateTime.Now.ToString("U"));          //格式: 2010年10月22日 1:26:38

Console.WriteLine(DateTime.Now.ToString("y"));          //格式: 2010年10月
Console.WriteLine(DateTime.Now.ToString("dddd"));         //格式: 星期五
Console.WriteLine(DateTime.Now.ToString("dddd, MMMM dd yyyy"));  //格式: 星期五, 十月 22 2010
Console.WriteLine(DateTime.Now.ToString("ddd, MMM d yy"));    //格式: 五, 十月 22 10
Console.WriteLine(DateTime.Now.ToString("dddd, MMMM dd"));    //格式: 星期五, 十月 22
Console.WriteLine(DateTime.Now.ToString("M/yy"));         //格式: 10-10
Console.WriteLine(DateTime.Now.ToString("dd-MM-yy"));       //格式: 22-10-10
      //c# datetime 格式化
      DateTime dt = DateTime.Now;

      //2017/11/14 10:46:56
      label1.Text = dt.ToString();//2017/11/14 10:46:56
      label2.Text = dt.ToFileTime().ToString();//131551012169015429
      label3.Text = dt.ToFileTimeUtc().ToString();//131551012169015429
      label4.Text = dt.ToLocalTime().ToString();//2017/11/14 10:46:56
      label5.Text = dt.ToLongDateString().ToString();//2017年11月14日
      label6.Text = dt.ToLongTimeString().ToString();//10:46:56
      label7.Text = dt.ToOADate().ToString();//43053.4492696875
      label8.Text = dt.ToShortDateString().ToString();//"2017/11/14"
      label9.Text = dt.ToShortTimeString().ToString();//"10:46"
      label10.Text = dt.ToUniversalTime().ToString();//"2017/11/14 2:46:56"
      //2017/11/14 10:46:56
      label1.Text = dt.Year.ToString();//"2017"
      label2.Text = dt.Date.ToString();//"2017/11/14 0:00:00"
      label3.Text = dt.DayOfWeek.ToString();//"Tuesday"
      label4.Text = dt.DayOfYear.ToString();//"318"
      label5.Text = dt.Hour.ToString();//"10"
      label6.Text = dt.Millisecond.ToString();//901
      label7.Text = dt.Minute.ToString();//46
      label8.Text = dt.Month.ToString();//"11"
      label9.Text = dt.Second.ToString();//56
      label10.Text = dt.Ticks.ToString();//"636462532169015429"
      label11.Text = dt.TimeOfDay.ToString();//"10:46:56.9015429"
      label1.Text = dt.ToString();//"2017/11/14 10:46:56"
      label2.Text = dt.AddYears(1).ToString();//"2018/11/14 10:46:56"
      label3.Text = dt.AddDays(1.1).ToString();//"2017/11/15 13:10:56"
      label4.Text = dt.AddHours(1.1).ToString();//"2017/11/14 11:52:56"
      label5.Text = dt.AddMilliseconds(1.1).ToString();//"2017/11/14 10:46:56"
      label6.Text = dt.AddMonths(1).ToString();//"2017/12/14 10:46:56"
      label7.Text = dt.AddSeconds(1.1).ToString();//"2017/11/14 10:46:58"
      label8.Text = dt.AddMinutes(1.1).ToString();//"2017/11/14 10:48:02"
      label9.Text = dt.AddTicks(1000).ToString();//"2017/11/14 10:46:56"
      label10.Text = dt.CompareTo(dt).ToString();//0
      //label11.Text = dt.Add(?).ToString();//问号为一个时间段
      label1.Text = dt.Equals("2017/11/14 10:46:58").ToString();//False
      label2.Text = dt.Equals(dt).ToString();//True
      label3.Text = dt.GetHashCode().ToString();//"236096456"
      label4.Text = dt.GetType().ToString();//System.DateTime
      label5.Text = dt.GetTypeCode().ToString();//DateTime
      label1.Text = dt.GetDateTimeFormats('s')[0].ToString();//"2017-11-14T10:46:56"
      label2.Text = dt.GetDateTimeFormats('t')[0].ToString();//"10:46"
      label3.Text = dt.GetDateTimeFormats('y')[0].ToString();//"2017年11月"
      label4.Text = dt.GetDateTimeFormats('D')[0].ToString();//"2017年11月14日"
      label5.Text = dt.GetDateTimeFormats('D')[1].ToString();//"2017年11月14日,星期二"
      label6.Text = dt.GetDateTimeFormats('D')[2].ToString();//"星期二,2017年11月14日"
      // label7.Text = dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日------“System.IndexOutOfRangeException”类型的未经处理的异常在 DateTest.exe 中发生 其他信息: 索引超出了数组界限。
      label8.Text = dt.GetDateTimeFormats('M')[0].ToString();//11月14日
      label9.Text = dt.GetDateTimeFormats('f')[0].ToString();//"2017年11月14日 10:46"
      label10.Text = dt.GetDateTimeFormats('g')[0].ToString();//"2017/11/14 10:46"
      label11.Text = dt.GetDateTimeFormats('r')[0].ToString();//"Tue, 14 Nov 2017 10:46:56 GMT"
      label1.Text = string.Format("{0:d}", dt);//"2017/11/14"
      label2.Text = string.Format("{0:D}", dt);//"2017年11月14日"
      label3.Text = string.Format("{0:f}", dt);//"2017年11月14日 10:46"
      label4.Text = string.Format("{0:F}", dt);//"2017年11月14日 10:46:56"
      label5.Text = string.Format("{0:g}", dt);//"2017/11/14 10:46"
      label6.Text = string.Format("{0:G}", dt);//"2017/11/14 10:46:56"
      label7.Text = string.Format("{0:M}", dt);//"11月14日"
      label8.Text = string.Format("{0:R}", dt);//"Tue, 14 Nov 2017 10:46:56 GMT"
      label9.Text = string.Format("{0:s}", dt);//"2017-11-14T10:46:56"
      label10.Text = string.Format("{0:t}", dt);//"10:46"
      label11.Text = string.Format("{0:T}", dt);//"10:46:56"
      label12.Text = string.Format("{0:u}", dt);//"2017-11-14 10:46:56Z"
      label13.Text = string.Format("{0:U}", dt);//"2017年11月14日 2:46:56"
      label14.Text = string.Format("{0:Y}", dt);//"2017年11月"
      label15.Text = string.Format("{0}", dt);//"2017/11/14 10:46:56"
      label16.Text = string.Format("{0:yyyyMMddHHmmssffff}", dt); //"201711141046569015" yyyymm等可以设置,比如label16.Text = string.Format("{0:yyyyMMdd}",dt);

到此这篇关于C#时间格式转换为时间戳的方法步骤的文章就介绍到这了,更多相关C#时间格式转换为时间戳内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C#时间戳基本用法实例分析

    本文实例讲述了C#时间戳基本用法.分享给大家供大家参考.具体如下: 一.C#如何生成一个时间戳 /// <summary> /// 获取时间戳 /// </summary> /// <returns></returns> public static string GetTimeStamp() { TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); return Conve

  • C# DateTime与时间戳转换实例

    C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳. 1. 什么是时间戳 首先要清楚JavaScript与Unix的时间戳的区别: JavaScript时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数. Unix时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数. 可以看出JavaScrip

  • C#更新SQLServer中TimeStamp字段(时间戳)的方法

    本文实例讲述了C#更新SQLServer中TimeStamp字段(时间戳)的方法.分享给大家供大家参考.具体实现方法如下: public partial class Form1 : Form { private SqlConnection mCnn = null; private long TimeStampValue; public Form1() { InitializeComponent(); mCnn = new SqlConnection(); mCnn.ConnectionStrin

  • 深入Unix时间戳与C# DateTime时间类型互换的详解

    Unix时间戳最小单位是秒,开始时间为格林威治标准时间1970-01-01 00:00:00ConvertIntDateTime方法的基本思路是通过获取本地时区表示Unixk开始时间,加上Unix时间值(即过去的秒数). ConvertDateTimeInt方法的基本思路是通过刻度数差,再把刻度数转换为秒数,当然要说明的是,我这里返回的是double类型,意义上并非是真正的Unix时间戳格式.要获取真正Unix时间戳的,只获取整数部分就可以了. 复制代码 代码如下: dangranusing S

  • 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 voi

  • C# 时间与时间戳互转的方法(13位)

    目前经常出现的时间有三个: 本地时间(locale time) 格林威治时间(Greenwich Mean Time GMT) 时间协调时间 (Universal Time Coordinated UTC) 时间标准: (1)世界时 世界时是最早的时间标准.在1884年,国际上将1s确定为全年内每日平均长度的1/8.64×104.以此标准形成的时间系统,称为世界时(UT1). 1972年国际上开始使用国际原子时标,从那以后,经过格林威治老天文台本初子午线的时间便被称为世界时(UT2),或称格林威

  • C#时间格式转换为时间戳的方法步骤

    时间戳转换: /// <summary> /// C#时间格式转换为时间戳(互转) /// 时间戳定义为从格林威治时间 1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数. /// </summary> public class DateTime_TimeStamp : MonoBehaviour { protected int m_timestamp; /// <summary> /// 获取时间戳Timest

  • iOS获取当前时间和当前时间戳的方法

    //获取当前的时间 +(NSString*)getCurrentTimes{ NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制 [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; //现在时间,你可以输出来看下是什么格式 NSDate *datenow = [NSDate d

  • python utc datetime转换为时间戳的方法

    最近python代码遇到了一个神奇的需求, 就是如果将python utc datetime转换为时间戳. 百度找到都是使用time.mktime(xxx) 但是看到官网文档里写 time.mktime(t) This is the inverse function of localtime() 而且亲测 这样将UTC datetime格式的转换完并不是utc时间戳. 这里会当作带时间戳的datetime来处理. 正确的做法是: import calendar calendar.timegm(t

  • laravel 时间格式转时间戳的例子

    数据渲染到模板经常用到日期格式.而数据库一般保存时间戳.每次更新或查询都要做转换. 使用Eloquent 自动转换  <?php namespace App\Model; use Illuminate\Database\Eloquent\Model; class Goods extends Model { public function setStartTimeAttribute($value) { $this->attributes['start_time'] = is_int($value

  • Java如何将若干时间区间进行合并的方法步骤

    问题原因 工作中突然有个场景,需要合并时间区间.将若干闭合时间区间合并,实现思路如下: 1. 先对日期区间进行按时间顺序排序,这样后一个区间(记为next)的from一定是不小于前一个(记为prev)from的. 2.在进行循环比较的时候,对于next区间,假设next.from大于prev.to就说明这两个区间是分开的,要新增区间.否则说明next.from在[prev.from, prev.to]内,这时要看next.to是否是大于prev.to,如果大于就要合并区间. 具体实现 publi

  • Java 使用openoffice进行word转换为pdf的方法步骤

    一.下载openoffice第三方工具 建议下载4.1.6版本 http://www.openoffice.org/download/index.html 二.开启openoffice服务 找到openoffice安装目录下OpenOffice 4\program>soffice运行cmd,运行命令soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 三.Java代

  • python获取当前时间对应unix时间戳的方法

    本文实例讲述了python获取当前时间对应unix时间戳的方法.分享给大家供大家参考.具体分析如下: Unix timestamp:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒 import datetime import time print time.mktime(datetime.datetime.now().timetuple()) 输出为: 1431674373.0 PS:这里再为大家推荐一个本站Unix时间戳转换工具,附带了各种语言下Unix时间戳的操作

  • python将MongoDB里的ObjectId转换为时间戳的方法

    本文实例讲述了python将MongoDB里的ObjectId转换为时间戳的方法.分享给大家供大家参考.具体分析如下: MongoDB里的_id字段前四位是时间戳的16进制表示,通过Python可以很容易从_id中提取出时间戳来 def timestamp_from_objectid(objectid): result = 0 try: result = time.mktime(objectid.generation_time.timetuple()) except: pass return r

  • mysql时间戳转成常用可读时间格式的两种方法

    使用EXECL转换时间戳的公式为: 代码:=(xxxxxxxxxx+8*3600)/86400+70*365+19 使用MYSQL语句解释时间戳语法举例: 代码: SELECT FROM_UNIXTIME(1234567890, '%Y-%m-%d %H:%i:%S') 附:在mysql中,一个时间字段的存储类型是int(11),怎么转化成字符类型,比方存储为13270655222,需要转化为yyyy -mm-dd的形式 使用 FROM_UNIXTIME函数,具体如下: 代码:FROM_UNIX

  • js 时间格式与时间戳的相互转换示例代码

    一.时间转换时间戳 复制代码 代码如下: function transdate(endTime){ var date=new Date(); date.setFullYear(endTime.substring(0,4)); date.setMonth(endTime.substring(5,7)-1); date.setDate(endTime.substring(8,10)); date.setHours(endTime.substring(11,13)); date.setMinutes(

随机推荐