How to get current time in python and break up into year, month, day, hour, minute?

后端 未结 11 961
故里飘歌
故里飘歌 2020-11-28 01:18

I would like to get the current time in Python and assign them into variables like year, month, day, hour, minute

相关标签:
11条回答
  • 2020-11-28 01:55

    For python 3

    import datetime
    now = datetime.datetime.now()
    print(now.year, now.month, now.day, now.hour, now.minute, now.second)
    
    0 讨论(0)
  • 2020-11-28 01:59

    Here's a one-liner that comes in just under the 80 char line max.

    import time
    year, month, day, hour, min = map(int, time.strftime("%Y %m %d %H %M").split())
    
    0 讨论(0)
  • 2020-11-28 02:02

    The datetime answer by tzaman is much cleaner, but you can do it with the original python time module:

    import time
    strings = time.strftime("%Y,%m,%d,%H,%M,%S")
    t = strings.split(',')
    numbers = [ int(x) for x in t ]
    print numbers
    

    Output:

    [2016, 3, 11, 8, 29, 47]
    
    0 讨论(0)
  • 2020-11-28 02:03

    You can use gmtime

    from time import gmtime
    
    detailed_time = gmtime() 
    #returns a struct_time object for current time
    
    year = detailed_time.tm_year
    month = detailed_time.tm_mon
    day = detailed_time.tm_mday
    hour = detailed_time.tm_hour
    minute = detailed_time.tm_min
    

    Note: A time stamp can be passed to gmtime, default is current time as returned by time()

    eg.
    gmtime(1521174681)
    

    See struct_time

    0 讨论(0)
  • 2020-11-28 02:06

    Let's see how to get and print day,month,year in python from current time:

    import datetime
    
    now = datetime.datetime.now()
    year = '{:02d}'.format(now.year)
    month = '{:02d}'.format(now.month)
    day = '{:02d}'.format(now.day)
    hour = '{:02d}'.format(now.hour)
    minute = '{:02d}'.format(now.minute)
    day_month_year = '{}-{}-{}'.format(year, month, day)
    
    print('day_month_year: ' + day_month_year)
    

    result:

    day_month_year: 2019-03-26
    
    0 讨论(0)
  • 2020-11-28 02:08

    This is an older question, but I came up with a solution I thought others might like.

    def get_current_datetime_as_dict():
    n = datetime.now()
    t = n.timetuple()
    field_names = ["year",
                   "month",
                   "day",
                   "hour",
                   "min",
                   "sec",
                   "weekday",
                   "md",
                   "yd"]
    return dict(zip(field_names, t))
    

    timetuple() can be zipped with another array, which creates labeled tuples. Cast that to a dictionary and the resultant product can be consumed with get_current_datetime_as_dict()['year'].

    This has a little more overhead than some of the other solutions on here, but I've found it's so nice to be able to access named values for clartiy's sake in the code.

    0 讨论(0)
提交回复
热议问题