C# YYYY年MM月 转 YYYY-MM-DD 并且取当月最后一天
时间: 2024-01-16 21:02:07 浏览: 23
这是一个IT类问题。下面是回答:
在C#中可以使用DateTime.ParseExact方法将字符串转换为日期类型,然后使用ToString方法将日期格式化为YYYY-MM-DD的字符串。同时,可以使用DateTime.DaysInMonth方法获取指定日期所在月份的天数,进而计算出当月最后一天的日期。示例代码如下:
```csharp
string str = "202201";
DateTime dt = DateTime.ParseExact(str, "yyyyMM", CultureInfo.InvariantCulture);
string result = dt.ToString("yyyy-MM-dd");
int lastDay = DateTime.DaysInMonth(dt.Year, dt.Month);
DateTime lastDate = new DateTime(dt.Year, dt.Month, lastDay);
```
其中,str为需要转换的日期字符串,dt为转换后的日期对象,result为转换后的YYYY-MM-DD格式字符串,lastDay为当月的天数,lastDate为当月最后一天的日期对象。
相关问题
c#MM/dd/yyyy转换为yyyy-mm-dd
以下是将C#中的MM/dd/yyyy格式转换为yyyy-mm-dd格式的示例代码:
```csharp
string inputDate = "12/31/2021";
DateTime date = DateTime.ParseExact(inputDate, "MM/dd/yyyy", CultureInfo.InvariantCulture);
string outputDate = date.ToString("yyyy-MM-dd");
Console.WriteLine(outputDate); // 输出:2021-12-31
```
在这个示例中,我们首先使用`DateTime.ParseExact`方法将输入的日期字符串解析为`DateTime`对象,指定输入日期的格式为"MM/dd/yyyy"。然后,我们使用`ToString`方法将`DateTime`对象转换为指定格式的字符串,格式为"yyyy-MM-dd"。最后,我们将转换后的日期字符串输出到控制台。
C# yyyy-MM-dd hh:mm:dd怎么转换成时间戳
在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类型的变量中。