Maybe you could implement it like the below picture, the variable will be shared. However if you restart your function, it will reload the variable time.

In case of the function restart, suppose you could set it with a storage queue to implement it, every time add 1 to the queue number and replace the queue.
public static async void Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(Environment.GetEnvironmentVariable("AzureWebJobsStorage"));
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue queue = queueClient.GetQueueReference("time");
CloudQueueMessage message = queue.GetMessage();
log.LogInformation(message.AsString);
int num = int.Parse(message.AsString);
num++;
queue.DeleteMessage(message);
queue.AddMessage(new CloudQueueMessage(num.ToString()));
}

Hope this could help you, if you still have other problem please feel free to let me know.