2011-12-10 31 views
9

Tôi đang làm việc với C# .NET và PHP và cần một số cách ghi thời gian chuẩn giữa hai. Tôi muốn sử dụng giây từ năm 1970 = <?php echo time(); ?> vì tôi đã sử dụng một số chức năng tuyệt vời của php như: date() & strtotime() trong dự án của tôi. Có một cái gì đó trong. Net đó là tương đương với PHP thời gian()?C# .NET tương đương với thời gian PHP()

Xin cảm ơn trước.

Trả lời

19
(int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds 
1

Chỉ đơn giản như vậy:

var secondsSince1970 = DateTime.Now - DateTime.Parse("01.01.1970 00:00:00"); 
Debug.Write(secondsSince1970.TotalSeconds.ToString()); 
+0

tôi đã bỏ phiếu không xuống, nhưng đầu ra mã của bạn 0-60 –

+0

@PatrickLorio: Bạn đúng. Tôi lấy một tài sản sai. Tôi đã sửa mẫu. – Fischermaen

0

Bạn có thể sử dụng cấu trúc DateTime (datatype) - Nó đại diện cho một ngày và thời gian. Bạn có thể sử dụng tài sản DateTime.NowDateTime.UtcNow (Tọa độ UTC) để nhận giờ địa phương.

Để nhận khoảng thời gian, bạn có thể sử dụng cấu trúc Timespan.

2

Đó là chưa rõ lý do tại sao bạn cần một tương đương cho PHP time(), nhưng bạn có thể làm:

var secondsSinceUnixEpoch = DateTime.UtcNow 
            .Subtract(new DateTime(1970, 1, 1)) 
            .TotalSeconds; 

// If needed. 
var roundedSeconds = (int) secondsSinceUnixEpoch;  
Các vấn đề liên quan