Python:将字符串转换为日期格式

时间:2015-04-26 19:38:56

标签: python string loops date

我知道这已被问过几次,但我的情况有点不同......我需要完成的目标是将一串数字'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();
        }
    }
}

希望这很清楚。应该不难,只是不知道该怎么做。

2 个答案:

答案 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