Branch length in phylogenetic trees
When you estimate a phylogenetic tree, be it by likelihood, parsimony, or distance (like NJ), the lengths will be given in units of substitutions per site, with no time information. For example from here:


  The units of branch length are usually nucleotide substitutions per
  site – that is the number of changes or 'substitutions' divided by the
  length of the sequence (although they may be given as % change, i.e.,
  the number of changes per 100 nucleotide sites).


To transform these lengths into a time scale, further information is necessary. For example assuming that the molecular clock is valid, or instead using relaxed clock models that describe how each branch length l=r x t can be decomposed into a rate r and a time t. Since in many cases the rate is not constant along the tree (i.e. the clock is not valid), an inferred phylogenetic tree is not ultrametric (i.e. the sum of branch lengths from the leaves to their MRCA is not constant).

There are software packages, most notably BEAST, that explicitly model a strict or relaxed clock for you, and then can return the branch lengths in arbitrary time units. "Arbitrary" means that the numbers by themselves do not have special meaning, and will reflect your choice for instance of the prior. In which case they can represent year, million years or generations (http://beast.bio.ed.ac.uk/faq#Evolutionary_rates_and_time_scales).