You can use ffprobe:
ffprobe -i <file> -show_entries format=duration -v quiet -of csv="p=0"
It will output the duration in seconds, such as:
154.12
Adding the -sexagesimal option will output duration as hours:minutes:seconds.microseconds:
00:02:34.12