如何把字符串转换成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类型的参数,需要和现在时间作比较,有什么好的办法?
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类型的主要内容,如果未能解决你的问题,请参考以下文章