A zero day attack is a special type of attack made on security of computers.
Zero day attacks are attacks on software (operating system or programs) that take advantage or holes or weaknesses in the security of the software. In the case of a zero day attack it is where hackers learn of these holes and take advantage of them before the maker of the software is aware of the hole or weakness. The hackers then write a program (malware) that takes advantage to the hole or weakness and distribute with hopes that no one realizes the hole before their attack begins. These can be more malicious as none of the antivirus/antispyware programs etc. can protect against these as they do not know of weakness. However these antimalware programs can provide some protection as most of them watch for certain characteristics of malware also that may not be specific but warn us it may not be good.
It is named a zero day attack because it is not on days after the maker is aware of the hole or weakness but before
Once one of these attacks occurs the maker of the software becomes aware of the hole or weakness they work to block the hole or weakness and thereby prevent the attack occurring. The software maker will release a security patch that corrects the hole or weakness but the exploit (zero day attack) can still occur if people are not applying patches and updates to their operating system and programs.
It is important to keep antimalware programs and definitions up to date so either you can catch when an attack occurs or the software with update catches it and maybe you have not been hit yet.