如何把字符串转换成datetime类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把字符串转换成datetime类型相关的知识,希望对你有一定的参考价值。

java代码:

String strDate  = "2017-03-27T13:11:50.657";

strDate = strDate.replaceAll("T", " ");

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

Date dateTime;

try

dateTime = formatter.parse(strDate);

System.out.println(formatter.format(dateTime));

catch (ParseException e)

// TODO Auto-generated catch block

e.printStackTrace();

资料拓展:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论

参考技术A 将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下: 1、定义一个字符串类型的时间; 2、创建一个SimpleDateFormat对象并设置格式; 3、最后使用SimpleDateFormat的parse方法将String类型的时间转换成Date类型的时本回答被提问者采纳

python中如何把datetime.datetime转换成datetime.time?

具体是这样
我现在有一个datetime.time类型的参数,需要和现在时间作比较,有什么好的办法?

用Python实现字符串和日期相互转换的方法,具体如下:这里用的分别是time和datetime函数来处理 importtime,datetime //日期转化为字符串 #datetostr //输出时间 printtime.strftime("%Y-%m-%d%X",time.localtime()) #strtodate //字符串转化为日期 t=time.strptime("2016-12-05","%Y-%m-%d") y,m,d=t[0:3] //输出时间 printdatetime.datetime(y,m,d) 参考技术A 1.时间字符串转为datetime格式
datetime.strptime可以将字符串转换成日期,strptime的第二个参数是时间日期的格式:
import datetime
a = '20200913'
print a
b = datetime.datetime.strptime(str(a), "%Y%m%d")
print b
输出:
2020-09-13
2020-09-13 00:00:00
两者的类型发生了变化:
2.日期减一
使用datetime.timedelta(),参数是要减去的天数,昨天是减1,前天是减2,以此类推。
import datetime
a = '20200913'
print type(a)
b = datetime.datetime.strptime(str(a), "%Y%m%d")
print type(b)
c = b + datetime.timedelta(days=-1)
print c
输出:
20200913
2020-09-13 00:00:00
2020-09-12 00:00:00
3.日期格式从20200913,自减一天,格式仍为20200912
使用 strftime 将日期转换为字符串,第二个参数是你希望输出的格式。
import datetime
a = '20200913'
print a
b = datetime.datetime.strptime(str(a), "%Y%m%d")
print b
c = b + datetime.timedelta(days=-1)
print c
d = datetime.datetime.strftime(c, "%Y%m%d")
print d
输出:
20200913
2020-09-13 00:00:00
2020-09-12 00:00:00
2020-09-12
20200912
4.常见bug
AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'
代码:
from datetime import datetime
a = '20200913'
print a
b = datetime.strptime(str(a), "%Y%m%d")
print b
c = b + datetime.timedelta(days=-1)
print c
原因:
import 模块:导入一个模块;注:相当于导入的是一个文件夹,是个相对路径。
from…import:导入了一个模块中的一个函数;注:相当于导入的是一个文件夹中的文件,是个绝对路径。
区别是当引用文件时是:
import   //模块.函数
from…import  // 直接使用函数名使用就可以了
这里“from datetime import datetime”从datetime模块引入datetime类,而datetime类中不包含timedelta方法,因此报错。
将“from datetime import datetime” 改为“import datetime”,引入datetime模块,那么在使用strptime时,需要多加一个datetime,写全方法的路径,即:datetime.datetime.strptime(str(a), "%Y%m%d")。
如下:
import datetime
a = '20200913'
print a
b = datetime.datetime.strptime(str(a), "%Y%m%d")
print b
c = b + datetime.timedelta(days=-1)
print c

以上是关于如何把字符串转换成datetime类型的主要内容,如果未能解决你的问题,请参考以下文章

使用Python实现:把字符串转换成datetime类型

python中如何把datetime.datetime转换成datetime.time?

如何SQL把字符串转换成日期输出??

如何将DateTime类型转换成String类型

如何把int类型的毫秒数转换成时间格式

关于DateTime的自定义转换