我知道这已被问过几次,但我的情况有点不同......我需要完成的目标是将一串数字'20150425'(恰好是一个日期)转换为日期格式,例如'2015-04-25'。我需要这个,因为我试图在我的代码中比较日期对象,但有一个变量类型表示为字符串。
import java.io.IOException;
import java.net.URL;
import java.nio.file.FileSystems;
import java.nio.file.Files;
public class Main {
public static void main(String[] args) {
try {
// connect and download the file
URL website = new URL("http://www.anaptyxi.gov.gr/DesktopModules" +
"/AVMap.ErgaReports_v2/SearchHandler.ashx?lang=el-GR" +
"&pageMode=3&searchValue=&searchField=&dateFrom=&dateTo=" +
"&perioxesMode=2&selectedPerioxes[]=01_36_514&ergaType[]=1" +
"&ergaType[]=2&ergaType[]=3&enisx=&kad=&company=&includePollaplhs=1" +
"&export=xls");
URLConnection con = website.openConnection();
con.addRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
con.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36");
Files.copy(con.getInputStream(), FileSystems.getDefault().getPath("test.html"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
希望这很清楚。应该不难,只是不知道该怎么做。
答案 0 :(得分:1)
这有效
from datetime import datetime
date = '20150425'
date_object = datetime.strptime(date, '%Y%m%d')
date_object
>>> datetime.datetime(2015,4,25,0,0)
答案 1 :(得分:0)
假设日期字符串始终为8个字符:
date = '20150425'
fdate = "{}-{}-{}".format(date[0:4], date[4:6], date[6:]) # 2015-04-25
或者,你可以去更重的"路由并使用实际的datetime
类:
from datetime import datetime
date = '20150425'
dt = datetime.strptime(date, "%Y%m%d")
dt.strftime("%Y-%m-%d") # 2015-04-25