How to calculate flow duration curve for a set of 12 year data?
Spreadsheets work well for this.

You have 12×12 observations so use 144+1 = 145 as the number of observations for calculating your probabilities.

Put your discharge data in a column and sort from highest to lowest. Put a column of Rankings next to it and number from 1 up to your maximum (1 to 144). Put a column next to that and calculate your probability of exceeding each discharge value:

P = Ranking×100/145

(P as a percent)

Graph discharge vs. P.

You need to consider your 0 discharge months in determining the number of periods but you don't need to calculate P for them.  That's handy if you don't want errors in plotting log discharge vs. P.