各种时间格式之间的转换

python的time模块

# 获得当前的时间戳
ticks = time.time()
print(ticks) #1553244003.4631288

# 当前时间戳向时间元祖转换
localtime = time.localtime(time.time())
print(localtime)
# time.struct_time(tm_year=2019, tm_mon=3, tm_mday=22, tm_hour=16, tm_min=43, tm_sec=1, tm_wday=4, tm_yday=81, tm_isdst=0)

# 也可直接将一个时间戳转化为时间元祖
timetupe = time.localtime(1553241660)
print(timetupe)
# time.struct_time(tm_year=2019, tm_mon=3, tm_mday=22, tm_hour=16, tm_min=1, tm_sec=0, tm_wday=4, tm_yday=81, tm_isdst=0)

# 将时间元祖转换为datetime类型
date = time.strftime("%Y-%m-%d %H:%M:%S", timetupe)
print(date) # 2019-03-22 16:01:00

# 将一个时间元祖转换为时间戳
date = time.mktime(timetupe)
print(date) # 1553241660.0

python的datetime模块

# 获得当前的时间
now = datetime.datetime.now()
print(now) #2019-03-22 16:40:57.610277

对于带有AM,am,PM,pm的时间字符串进行格式化(例:01/05/2018 07:00:00AM):

import time, datetime

def time12to24(time_string):
    days = time_string.split(' ')[0]
    times = time_string.split(' ')[1]
    print(times)
    t_year = days.split('/')[2]
    t_month = days.split('/')[1]
    t_day = days.split('/')[0]
    t_hour = times.split(':')[0]
    t_min = times.split(':')[1]
    t_sec = times.split(':')[2]
    if times.lower().find('am') > 0:
        t_sec = times[:times.lower().find('am')].split(':')[2]
        if t_hour == '12':
            t_hour = '00'
    if times.lower().find('pm') > 0:
        t_sec = times[:times.lower().find('pm')].split(':')[2]
        if int(t_hour) < 12:
            t_hour = str(int(t_hour)+12)
        else:
            t_hour = '12'
    rtime = t_year+'-'+t_month+'-'+t_day+' '+t_hour+':'+t_min+':'+t_sec
    return rtime

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,Java 中可以使用 `SimpleDateFormat` 类来进行日期格式转换。 首先你需要创建一个 `SimpleDateFormat` 对象,并设置好转换的格式,例如: ```java SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ``` 然后,你可以使用 `parse` 方法将字符串类型的日期转换为 `Date` 类型,例如: ```java String dateString = "2022-06-15 15:43:01"; Date date = sdf.parse(dateString); ``` 如果你想将 `Date` 类型的日期转换为字符串类型,可以使用 `format` 方法,例如: ```java Date date = new Date(); String dateString = sdf.format(date); ``` 希望这些信息能够帮到你! ### 回答2: Java提供了一种功能强大的日期格式转换功能,可以方便地将不同格式的日期进行转换。主要是通过SimpleDateFormat类来实现。 SimpleDateFormat类是DateFormat的一个具体子类,它可以用于格式化日期(即将日期转换为指定格式的字符串)和解析日期(即将字符串解析为日期对象)。 要进行日期格式转换,首先需要创建一个SimpleDateFormat对象,并指定要转换的日期格式。例如,可以使用"yyyy-MM-dd"表示年-月-日的格式,"HH:mm:ss"表示时:分:秒的格式。 比如,要将日期对象转换为指定格式的字符串,可以使用SimpleDateFormat的format()方法。例如: ``` SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String strDate = sdf.format(new Date()); ``` 这样就会将当前日期转换为"yyyy-MM-dd"格式的字符串。 另外,要将字符串解析为日期对象,可以使用SimpleDateFormat的parse()方法。例如: ``` SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse("2022-12-31"); ``` 这样就会将字符串"2022-12-31"解析为对应的日期对象。 需要注意的是,日期格式中的字母必须与日期字符串的格式一一对应,否则会抛出解析异常。所以,在进行日期格式转换时,要确保指定的格式与实际的日期字符串格式相匹配。 除了提供预定义的日期格式外,SimpleDateFormat还支持自定义日期格式,可以通过在日期格式字符串中添加特定的字符来表示各个日期部分的格式。 综上所述,通过Java的SimpleDateFormat类,可以方便地进行日期格式的转换,实现日期对象与字符串之间的相互转换。 ### 回答3: Java日期格式转换可以通过Java中提供的DateFormat类来实现。 DateFormat类是一个抽象类,它可以将日期和时间按照指定的格式进行格式化输出,也可以将格式化后的日期和时间字符串解析为Date对象。 日期格式转换的一般流程如下: 1. 创建DateFormat对象,指定日期格式的模式。 SimpleDateFormat类是DateFormat的一个实现类,通过它可以指定具体的日期格式模式。 2. 调用DateFormat的format()方法进行日期格式化,将Date对象转换为指定格式的日期字符串。 该方法需要传入一个Date对象作为参数,并返回一个格式化后的日期字符串。 3. 调用DateFormat的parse()方法进行日期解析,将格式化后的日期字符串转换为Date对象。 该方法需要传入一个格式化后的日期字符串作为参数,并返回一个解析后的Date对象。 以下是一个简单的示例代码,将日期转换为指定格式的字符串,并将字符串解析为日期对象: ```java import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class DateConversionExample { public static void main(String[] args) { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date currentDate = new Date(); // 将日期转换为指定格式的字符串 String formattedDate = dateFormat.format(currentDate); System.out.println("格式化后的日期:" + formattedDate); try { // 将格式化后的日期字符串解析为日期对象 Date parsedDate = dateFormat.parse(formattedDate); System.out.println("解析后的日期:" + parsedDate); } catch (Exception e) { System.out.println("日期解析错误:" + e.getMessage()); } } } ``` 以上代码中,DateFormat对象使用了"yyyy-MM-dd HH:mm:ss"模式进行日期格式化和解析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值