
Allen P. answered 05/08/19
A Real Certified Teacher
The short answer is no.
The following answer is why a planet cannot have varying daylight and nighttime lengths.
The thing that determines day and night on any and all planets is going to be the planets rotational speed. When a planet rotates, 1 half will be facing its star. That half is experiencing day. The other half not covered in star light, will be experiencing night.
It is possible to have daylight of only a few hours. If a planet rotates extremely quickly, its daylight hour would be very little. Jupiter has daylight of approximately 4.5 hours as its day (the time it takes for a planet to spin or rotate once) is only 9 hours. And Jupiter is huge. If Earth span that fast, our day would be 50 minutes. (Scaling for Jupiter's size down to earth's size, but keeping the same rotational speed, where Jupiter, 11x wider than earth rotates in 9 hours).
Now the thing with this is that the day and night are equal. So if its a 50min day. We have 25min of night, and 25 min of daylight.
In order to have a night that last 18 years, you need a planet that rotates 1x every 36 years (18*2=36). The daylight would be also 18 years. The only way you could have a 18 year night and a few hour long day would be if you could manually speed up and and slow down the planet's rotational speed. And even then, one side would still be covered in starlight and be in daytime.
This answer assumes that a planet has a perfectly circular orbit, and that the planet is not tilted on its axis, as tilt causes seasons, which also affect how long the star shines on particular parts of the planet.