2017-01-23 2 views
4

Я извлечения даты из базы данных в следующем формате:Дата форматирования в Lua

vardate = '01/20/2017 09:20:35' - mm/dd/yyyy hh:mm:ss 

Я хочу, чтобы преобразовать его в формат дд-мм-гггг чч: мм: сс

Может Я получаю некоторые рекомендации о том, как я могу получить формат, который я хочу?

ответ

3

Date formatting in Lua is pretty simplistic. Если вам нужно только конвертировать из одного формата в другой, и этот формат не меняется, вы могли бы просто использовать string.match:

function convertDate(vardate) 
    local d,m,y,h,i,s = string.match(vardate, '(%d+)/(%d+)/(%d+) (%d+):(%d+):(%d+)') 
    return string.format('%s/%s/%s %s:%s:%s', y,m,d,h,i,s) 
end 

-- Call it this way 
convertDate('01/20/2017 09:20:35') 

Если вам нужно что-то более активное участие, я предлагаю использовать внешний библиотека.

+2

Благодаря @SolarBear, это работает для меня. Отлично. –

+0

Рад, что я могу помочь! – SolarBear

1
function ConvertDate(date) 
    return (date:gsub('(%d+)/(%d+)/(%d+) (%d+:%d+:%d+)','%2-%1-%3 %4')) 
end 

-- test 
print(ConvertDate('01/20/2017 09:20:35')) 
+2

Тони, это сработало и для меня, но я пошел с предложением @ SolarBear (так как он отображался первым). Но большое вам спасибо, я очень ценю это –

Смежные вопросы