1507 轉變日期格式(模擬)

2021-10-08 06:30:49 字數 1399 閱讀 5579

1. 問題描述:

給你乙個字串 date ,它的格式為 day month year ,其中:day 是集合  中的乙個元素。month 是集合  中的乙個元素。year 的範圍在 ​[1900, 2100] 之間。請你將字串轉變為 yyyy-mm-dd 的格式,其中:yyyy 表示 4 位的年份。mm 表示 2 位的月份。dd 表示 2 位的天數。

示例 1:

輸入:date = "20th oct 2052"

輸出:"2052-10-20"

示例 2:

輸入:date = "6th jun 1933"

輸出:"1933-06-06"

示例 3:

輸入:date = "26th may 1960"

輸出:"1960-05-26"

2. 思路分析:

題目還是比較好處理的,首先想到的是使用split函式對給出的字串進行分隔得到對應的日月年對應的字串,其中只需要對日期與月份的字串進行處理即可,對於日期可以對分隔得到的第乙個字串中的數字進行拼接,發現是數字直接進行拼接即可,最後判斷數字對應的字串長度是否是一位假如是一位那麼補零即可,對應月份可以先使用列表的方式進行儲存,然後進行遍歷將對應月份的下標儲存到字典中去,這樣可以直接根據分隔得到的字串查詢字典中的鍵直接得到對應的值,最後將所有得到的字串進行拼接返回即可

3. **如下:

class solution:

def reformatdate(self, date: str) -> str:

# 這道題目實際上先可以使用split函式字串進行分隔然後對其進行替換即可

res = ""

li = date.split(" ")

month = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"]

m = dict()

for i in range(12):

if i < 9: m[month[i]] = "0" + str(i + 1)

else: m[month[i]] = str(i + 1)

d = ""

for i in range(len(li[0])):

if '0' <= date[i] <= '9':

d += li[0][i]

else: break

if len(d) == 1: d = "0" + d

return li[2] + "-" + m[li[1]] + "-" + d

力扣 5177 轉變日期格式 顯示英文描述

轉變日期格式 顯示英文描述 給你乙個字串 date 它的格式為 day month year 其中 day 是集合 中的乙個元素。month 是集合 中的乙個元素。year 的範圍在 1900,2100 之間。請你將字串轉變為 yyyy mm dd 的格式,其中 yyyy 表示 4 位的年份。mm ...

前端轉日期格式

後端的日期一般是定義為date型別的,前端接收到以後,直接在頁面顯示的話,會出現問題 格式不對 現在就寫乙個function來轉化一下 1 export function getnowdatetime datestr 13if strdate 0 strdate 9 16if hour 0 hour...

時間戳轉日期格式

時間戳轉日期格式 轉換前格式 時間戳 秒 時間戳 毫秒 轉換後格式 年月日時分秒 年月日 時分秒 月日時 轉換前 例 1555459200 1555459200000 轉換後 例 2019 04 17 08 00 00 2019 04 17 08 00 00 格式 yyyy mm dd hh mm ...