You're trying to access the 'properties' (i.e. the members) of the tmet variable in a scope where they aren't accessible (outside of a code block). In this global scope of the program the compiler expects a type name on the left side of a statement (i.e. a variable or type declaration), but tmet's members like tmet.Year aren't types in and of themselves.
There are two solutions. You can move the access to the members of tmet into a code block like the setup function:
#include <Time.h>
tmElements_t tmet;
time_t dateMet;
void setup() {
// put your setup code here, to run once:
tmet.Year = 2013-1970;
tmet.Month = 8;
tmet.Day = 28;
tmet.Hour = 18;
tmet.Minute = 30;
tmet.Second = 0;
dateMet = makeTime(tmet);
}
void loop() {
// put your main code here, to run repeatedly:
}
Or you could declare and define tmet in one statement, which has a different syntax (since you have to provide the content of a tmElements_t in a single line:
#include <Time.h>
tmElements_t tmet2 = { 2013-1970, 8, 28, 18, 30, 0 };
time_t dateMet2 = makeTime(tmet2);
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
Both versions work right away from within the Arduino IDE (i.e. I tested them).