C#中有没有获取当前时间毫秒时的函数?

kangkang19840226 2010-07-22 04:17:06
急急急急急急急急~~~
帮帮我,就类似java的System.currentTimeMillis()

...全文
60469 48 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
gio301 2012-04-10
  • 打赏
  • 举报
回复
DateTime.Now.Millisecond;
iforgetyou 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 的回复:]
引用 25 楼 chazikai24 的回复:
引用 8 楼 kangkang19840226 的回复:
纠正一下,我说的是毫秒总值 , 2001-10-22 10:10:00 转换成毫秒 。

牛逼,转化成毫秒。怎么转化?时间差可以转化为毫秒表示,一个固定的时间怎么用毫秒表示出来?


牛逼,估计要用双精度的数了,java也没那么傻吧,一个固定时间转换成那么大的一个数
[/Quote]

java 返回当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。

应该方便网络传输,字符串占用空间太多
wangguissd 2012-04-10
  • 打赏
  • 举报
回复
da = new DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")
qq598235031 2011-12-05
  • 打赏
  • 举报
回复
使用API(微软的)
godspeed1024 2011-12-05
  • 打赏
  • 举报
回复
9494
+1
[Quote=引用 36 楼 sjxlsn 的回复:]
很多人都不明白楼主的意思,DateTime.Now.Millisecond返回的是当前的时间的毫秒部分,而不是从1970年1月1日到当前时间毫秒数
[/Quote]
ttiimm11 2011-11-30
  • 打赏
  • 举报
回复
C#本身所获取到毫秒级的时间是不准的,比如3楼的方法。
如果要获取精准的毫秒级时间或时间间隔,应用API获取
例子如下:

using System;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Threading;

namespace Win32
{
internal class HiPerfTimer
{
[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceCounter(
out long lpPerformanceCount);

[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceFrequency(
out long lpFrequency);

private long startTime, stopTime;
private long freq;

// Constructor

public HiPerfTimer()
{
startTime = 0;
stopTime = 0;

if (QueryPerformanceFrequency(out freq) == false)
{
// high-performance counter not supported

throw new Win32Exception();
}
}

// Start the timer

public void Start()
{
// lets do the waiting threads there work

Thread.Sleep(0);

QueryPerformanceCounter(out startTime);
}

// Stop the timer

public void Stop()
{
QueryPerformanceCounter(out stopTime);
}

// Returns the duration of the timer (in seconds)

public double Duration
{
get
{
return (double)(stopTime - startTime) / (double) freq;
}
}
}
}

BDS 2011-11-30
  • 打赏
  • 举报
回复
11楼的。。。。
java的时间是13位。。.net的是18位。。所以你要转换一下。。。直接获取的毫秒是不相等的
K0000000r 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 markinstephen 的回复:]
DateTime.Now.Millisecond;
[/Quote]

这个只能获得 当前时间的后面三位而已
比如当前时间是 2011-11-30 12:20:10:101的话
那么就只获得101这个int类型的数字而已。
迈克尔1998 2011-11-30
  • 打赏
  • 举报
回复
用js的getTime()方法返回毫秒(距19700101)

另,11楼的也可以
杨友山 2011-11-30
  • 打赏
  • 举报
回复
DateTime.Now.
点后面想有啥有啥
绿领巾童鞋 2011-11-26
  • 打赏
  • 举报
回复
DateTime dt = DateTime.Now;
// Label1.Text = dt.ToString();//2005-11-5 13:21:25
// Label2.Text = dt.ToFileTime().ToString();//127756416859912816
// Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816
// Label4.Text = dt.ToLocalTime().ToString();//2005-11-5 21:21:25
// Label5.Text = dt.ToLongDateString().ToString();//2005年11月5日
// Label6.Text = dt.ToLongTimeString().ToString();//13:21:25
// Label7.Text = dt.ToOADate().ToString();//38661.5565508218
// Label8.Text = dt.ToShortDateString().ToString();//2005-11-5
// Label9.Text = dt.ToShortTimeString().ToString();//13:21
// Label10.Text = dt.ToUniversalTime().ToString();//2005-11-5 5:21:25
// 2005-11-5 13:30:28.4412864
// Label1.Text = dt.Year.ToString();//2005
// Label2.Text = dt.Date.ToString();//2005-11-5 0:00:00
// Label3.Text = dt.DayOfWeek.ToString();//Saturday
// Label4.Text = dt.DayOfYear.ToString();//309
// Label5.Text = dt.Hour.ToString();//13
// Label6.Text = dt.Millisecond.ToString();//441
// Label7.Text = dt.Minute.ToString();//30
// Label8.Text = dt.Month.ToString();//11
// Label9.Text = dt.Second.ToString();//28
// Label10.Text = dt.Ticks.ToString();//632667942284412864
// Label11.Text = dt.TimeOfDay.ToString();//13:30:28.4412864
// Label1.Text = dt.ToString();//2005-11-5 13:47:04
// Label2.Text = dt.AddYears(1).ToString();//2006-11-5 13:47:04
// Label3.Text = dt.AddDays(1.1).ToString();//2005-11-6 16:11:04
// Label4.Text = dt.AddHours(1.1).ToString();//2005-11-5 14:53:04
// Label5.Text = dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04
// Label6.Text = dt.AddMonths(1).ToString();//2005-12-5 13:47:04
// Label7.Text = dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05
// Label8.Text = dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10
// Label9.Text = dt.AddTicks(1000).ToString();//2005-11-5 13:47:04
// Label10.Text = dt.CompareTo(dt).ToString();//0
//// Label11.Text = dt.Add(?).ToString();//问号为一个时间段
// Label1.Text = dt.Equals("2005-11-6 16:11:04").ToString();//False
// Label2.Text = dt.Equals(dt).ToString();//True
// Label3.Text = dt.GetHashCode().ToString();//1474088234
// Label4.Text = dt.GetType().ToString();//System.DateTime
// Label5.Text = dt.GetTypeCode().ToString();//DateTime

// Label1.Text = dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25
// Label2.Text = dt.GetDateTimeFormats('t')[0].ToString();//14:06
// Label3.Text = dt.GetDateTimeFormats('y')[0].ToString();//2005年11月
// Label4.Text = dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日
// Label5.Text = dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05
// Label6.Text = dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05
// Label7.Text = dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日
// Label8.Text = dt.GetDateTimeFormats('M')[0].ToString();//11月5日
// Label9.Text = dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06
// Label10.Text = dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06
// Label11.Text = dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT

Label1.Text = string.Format("{0:d}",dt);//2005-11-5
Label2.Text = string.Format("{0:D}",dt);//2005年11月5日
Label3.Text = string.Format("{0:f}",dt);//2005年11月5日 14:23
Label4.Text = string.Format("{0:F}",dt);//2005年11月5日 14:23:23
Label5.Text = string.Format("{0:g}",dt);//2005-11-5 14:23
Label6.Text = string.Format("{0:G}",dt);//2005-11-5 14:23:23
Label7.Text = string.Format("{0:M}",dt);//11月5日
Label8.Text = string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT
Label9.Text = string.Format("{0:s}",dt);//2005-11-05T14:23:23
Label10.Text = string.Format("{0:t}",dt);//14:23
Label11.Text = string.Format("{0:T}",dt);//14:23:23
Label12.Text = string.Format("{0:u}",dt);//2005-11-05 14:23:23Z
Label13.Text = string.Format("{0:U}",dt);//2005年11月5日 6:23:23
Label14.Text = string.Format("{0:Y}",dt);//2005年11月
Label15.Text = string.Format("{0}",dt);//2005-11-5 14:23:23
Label16.Text = string.Format("{0:yyyyMMddHHmmssffff}",dt);
sjxlsn 2011-11-25
  • 打赏
  • 举报
回复
很多人都不明白楼主的意思,DateTime.Now.Millisecond返回的是当前的时间的毫秒部分,而不是从1970年1月1日到当前时间毫秒数
congplayer 2011-11-03
  • 打赏
  • 举报
回复
DateTime.Now.Millisecond;
qq576134225 2011-11-03
  • 打赏
  • 举报
回复
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") 貌似 是这个 毫秒。。。。
cherry9400 2011-11-03
  • 打赏
  • 举报
回复
如果要精确到毫秒级的,使用Environment.TickCount最好
DreamRealise 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 markinstephen 的回复:]

DateTime.Now.Millisecond;
[/Quote]

这个最简洁
deyygywxf 2010-08-24
  • 打赏
  • 举报
回复
楼主不好意思上面写错啦那样是得到秒总数
下面代码才是毫秒总数
DateTime t1 = DateTime.Now;
TimeSpan t22 = new TimeSpan(t1.Ticks);
int time2 =Convert.ToInt32(t22.TotalMilliseconds);

time2就是你想要得到的毫秒总数

楼主可以给分了吧!!!呵呵
deyygywxf 2010-08-24
  • 打赏
  • 举报
回复
DateTime t1 = DateTime.Now;
TimeSpan t22 = new TimeSpan(t1.Ticks);
int time2 =Convert.ToInt32(t22.TotalSeconds);

time2就是你想要得到的毫秒总数

楼主可以给分了吧!!!
reback_x 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 markinstephen 的回复:]

DateTime.Now.Millisecond;
[/Quote]
+1
icbc_ljt 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 chazikai24 的回复:]
引用 8 楼 kangkang19840226 的回复:
纠正一下,我说的是毫秒总值 , 2001-10-22 10:10:00 转换成毫秒 。

牛逼,转化成毫秒。怎么转化?时间差可以转化为毫秒表示,一个固定的时间怎么用毫秒表示出来?
[/Quote]

牛逼,估计要用双精度的数了,java也没那么傻吧,一个固定时间转换成那么大的一个数
加载更多回复(23)

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧