1. 程式人生 > >C# 常用時間格式處理, 20190510整理

C# 常用時間格式處理, 20190510整理

當前 pre mes ole oda line timestamp timespan seconds

DateTime.Now.ToString("yyyyMMddHHmmss");  // 20171108204539      
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");  // 2017-11-08 20:45:39   
DateTime.Now.ToString("HHmmss");  // 204539   


// 獲取當前時間戳     1556179343
TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
Console.WriteLine(Convert.ToInt64(ts.TotalSeconds).ToString());



// 時間戳轉時間
private static DateTime StampToDateTime(string timeStamp)
{
    DateTime dateTimeStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
    long lTime = long.Parse(timeStamp + "0000000");
    TimeSpan toNow = new TimeSpan(lTime);

    return dateTimeStart.Add(toNow);
}

使用:
DateTime d = StampToDateTime("1556179343");
Console.WriteLine(d.ToString("yyyy-MM-dd HH:mm:ss"));  // 2019-04-25 16:02:23



// DateTime時間格式轉換為Unix時間戳格式  1556179343
private static int DateTimeToStamp(System.DateTime time)
{
    System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
    return (int)(time - startTime).TotalSeconds;
}



// 時間加上秒
DateTime.Now.AddSeconds(500).ToString("yyyy年MM月dd日 HH時mm分ss秒");        // 500秒後的時間


// 時間倒退
DateTime.Now.AddSeconds(-500).ToString("yyyy年MM月dd日 HH時mm分ss秒");        // 500秒前的時間

C# 常用時間格式處理, 20190510整理