String 转年月日
时间: 2023-07-12 10:46:39 浏览: 85
可以使用 Java 中的 SimpleDateFormat 类将 String 转换成年月日。
假设 String 中的日期格式为 "yyyy-MM-dd",可以使用以下代码实现转换:
```java
String strDate = "2021-09-15";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(strDate);
```
其中,sdf.parse(strDate) 方法可以将 String 类型的日期转换成 Date 类型。
如果需要将 Date 类型的日期转换成年月日的 String 格式,可以使用以下代码:
```java
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String strDate = sdf.format(date);
```
其中,sdf.format(date) 方法可以将 Date 类型的日期转换成指定格式的 String 类型。
相关问题
string转年月日时分秒时间类型
在C++中,可以使用std::stringstream和std::get_time来将字符串转换为年月日时分秒时间类型。以下是一个示例代码:
```c++
#include <iostream>
#include <sstream>
#include <iomanip>
#include <ctime>
int main() {
std::string str = "2022-08-26 10:30:00";
std::tm tm = {};
std::istringstream ss(str);
ss >> std::get_time(&tm, "%Y-%m-%d %H:%M:%S");
std::time_t time = std::mktime(&tm);
std::cout << "Year: " << tm.tm_year + 1900 << std::endl;
std::cout << "Month: " << tm.tm_mon + 1 << std::endl;
std::cout << "Day: " << tm.tm_mday << std::endl;
std::cout << "Hour: " << tm.tm_hour << std::endl;
std::cout << "Minute: " << tm.tm_min << std::endl;
std::cout << "Second: " << tm.tm_sec << std::endl;
return 0;
}
```
输出结果将会是:
```
Year: 2022
Month: 8
Day: 26
Hour: 10
Minute: 30
Second: 0
```
在这个示例中,我们使用std::istringstream从字符串中读取时间,并将其存储到std::tm结构中。然后,我们使用std::mktime将std::tm结构转换为std::time_t类型,这是一个表示自1970年1月1日以来经过的秒数的整数。最后,我们打印出每个时间组件的值。
LocalDateTime转年月日
可以使用DateTimeFormatter类来将LocalDateTime转换为指定格式的字符串,例如:
```java
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = now.format(formatter);
System.out.println(formattedDate);
```
这里的格式化字符串"yyyy-MM-dd"表示输出年月日,其中"yyyy"表示四位数的年份,"MM"表示两位数的月份,"dd"表示两位数的日期。