c# 取得系统时间 ms
时间: 2024-11-22 20:29:19 浏览: 16
在C#中,你可以使用`DateTime.Now`属性轻松地获取当前的系统时间(精确到毫秒)。这个属性会返回当前本地时间和时区的信息。以下是获取当前系统时间(包含毫秒)的基本代码:
```csharp
DateTime currentSystemTime = DateTime.Now;
long milliseconds = currentSystemTime.Millisecond; // 获取毫秒部分
Console.WriteLine($"当前系统时间(毫秒):{milliseconds}");
```
这里,`Millisecond`属性返回的是当前时间的毫秒值,范围是从0到999。如果你需要更精确的时间戳,可以考虑使用`Ticks`属性,它表示自1601年1月1日(UTC)以来的纳秒数:
```csharp
long timestampInTicks = DateTime.UtcNow.Ticks;
// 如果你需要转换为Unix时间戳(单位为秒)
long unixTimestampInSeconds = (timestampInTicks - UnixEpochTicks) / TimeSpan.TicksPerSecond;
```
其中`UnixEpochTicks`通常定义为`new DateTime(1970, 1, 1).Ticks`,是Unix时间系统的起始点。
相关问题
C#语言如何获取系统空闲时间完整代码
以下是C#语言获取系统空闲时间的完整代码:
```csharp
using System;
using System.Runtime.InteropServices;
public class IdleTime
{
[DllImport("user32.dll")]
private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
internal struct LASTINPUTINFO
{
public uint cbSize;
public uint dwTime;
}
public static uint GetIdleTime()
{
LASTINPUTINFO lastInput = new LASTINPUTINFO();
lastInput.cbSize = (uint)Marshal.SizeOf(lastInput);
GetLastInputInfo(ref lastInput);
return (uint)Environment.TickCount - lastInput.dwTime;
}
}
```
使用方法:
```csharp
uint idleTime = IdleTime.GetIdleTime();
Console.WriteLine("System idle time: " + idleTime + "ms");
```
注意:该方法获取的是系统空闲时间而不是用户空闲时间。如果用户正在使用键盘或鼠标,系统也会认为是活动状态。
阅读全文