C# yyyy-MM-dd hh:mm:dd怎么转换成时间戳
时间: 2023-06-30 21:14:11 浏览: 133
在C#中,可以使用以下代码将指定的日期时间转换为Unix时间戳(以秒为单位):
```
DateTime datetime = DateTime.ParseExact("yyyy-MM-dd hh:mm:ss", "yyyy-MM-dd hh:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
long timestamp = (long)(datetime.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
```
其中,第一个参数是要转换的日期时间字符串,第二个参数是日期时间字符串的格式,第三个参数是一个CultureInfo对象,用于指定日期时间字符串的格式。
转换后的Unix时间戳将存储在一个long类型的变量中。
相关问题
'yyyy-MM-dd HH:mm:ss'
'yyyy-MM-dd HH:mm:ss'是一个日期时间格式,以下是三种不同的方法来转换一个字符串到相应的日期时间格式:
1. 使用Convert.ToDateTime方法,将字符串直接转换为日期时间格式。例如:
string str = "2019-07-01 18:18:18";
DateTime dt = Convert.ToDateTime(str);
[1]
2. 使用DateTime.ParseExact方法,指定字符串的格式,并将其转换成日期时间格式。例如:
string dateString = "20190701 18:18:18:1818";
DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd HH:mm:ss:ffff", CultureInfo.CurrentCulture);
[1]
3. 使用DateTimeFormatInfo来自定义日期时间格式,并将字符串转换成日期时间格式。例如:
DateTimeFormatInfo dfInfo = new DateTimeFormatInfo();
dfInfo.ShortDatePattern = "yyyy/MM/dd HH:mm:ss:ffff";
DateTime dt = Convert.ToDateTime("2019/07/01 18:18:18:1818", dfInfo);
[2<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [【C#】yyyy-MM-dd HH:mm:ss 时间格式 时间戳 全面解读超详细](https://blog.csdn.net/gao511147456/article/details/129304468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [yyyy-MM-dd HH:mm:ss和时间戳之间的转换](https://blog.csdn.net/weixin_58431406/article/details/125262936)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
c# 时间戳转化为日期时间
以下是C#中时间戳转化为日期时间的两种方法:
1. 将时间戳转换为秒时间,再转换为日期时间:
```csharp
long timestamp = 1629160713;
DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 当地时区
DateTime dt = startTime.AddSeconds(timestamp);
Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss")); // 输出:2021-08-17 16:38:33
```
2. 将时间戳转换为毫秒时间,再转换为日期时间:
```csharp
long timestamp = 1629160713;
DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); // 当地时区
DateTime dt = startTime.AddMilliseconds(timestamp * 1000);
Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss")); // 输出:2021-08-17 16:38:33
```