Какую функцию C я должен вызывать для получения отформатированной даты и времени для локали, в которой выполняется программа?
Я задаю этот вопрос, потому что столкнулся с проблемой при использовании API демона ClamAV. Команда VERSION
возвращает дату и время последних определений вирусов, но код использует вызов ctime
для его форматирования. Насколько я могу судить, ctime
не форматирует дату и время в соответствии с текущей локалью и использует английские сокращения для дней недели и месяца в возвращаемой строке. Это вызывает проблемы, так как моя Java-программа, использующая ClamAV API , учитывает текущую локаль и, следовательно, ожидает, что день недели и название месяца будут иметь местные сокращения.
Формат даты и времени должен быть в том же формате, что и ctime :
Www Ммм дд чч: мм: сс гггг
Где Www - день недели, Mmm - месяц буквами, dd день месяца, чч: мм: сс время и гггг год.
Я мог бы переписать Java-программу так, чтобы она всегда принимала английские даты, но я бы с радостью представил патч для ClamAV, так как это кажется мне ошибкой на их стороне.